Problem in getting result of computation using windows wrapper, error output for task absent kindly have a look.

Message boards : API : Problem in getting result of computation using windows wrapper, error output for task absent kindly have a look.
Message board moderation

To post messages, you must log in.

AuthorMessage
Saad

Send message
Joined: 23 Oct 17
Posts: 5
Message 82268 - Posted: 26 Oct 2017, 19:28:15 UTC

I am trying to create a project and run some testing apps using wrappers. I created a project and wrote application for linux using linux wrapper wrapper_26014_x86_64-pc-linux-gnu . It worked fine and returned results for computation. I followed similar tutorial for running app on windows using windows wrapper. Boinc client version 7.8.3 for windows 64-bit (as application has to be computed on windows platform) downloaded from the website, and it is the recommended version as shown on website. Client is running on windows 8.1 64-bit.

Wrapper used " wrapper_26014_windows_x86_64.exe". Before that I also tried with the wrapper downloaded from berkeley website " wrapper_26016_windows_x86_64.exe" using similar files configuration as shown below but it did not work out so tried out an older version to find any luck which is shown in the configuration files below. What I think is that wrapper is not able to execute the sampleimage_1.0_windows_x86_64.exe

Version.xml :
<version>
   <file>
      <physical_name>wrapper_26014_windows_x86_64.exe<physical_name>
      <main_program/>
    </file>
    <file>
       <physical_name>sampleimage_1.0_windows_x86_64.exe</physical_name>
       <logical_name>sampleimage</logical_name>
    </file>
    <file>
        <physical_name>sampleimage_job_1.0.xml</physical_name>
        <logical_name>job.xml</logical_name>
    </file>
    <file>
        <physical_name>wrapper_26014_windows_x86_64.pdb</physical_name>
    </file>
    <file>
	<physical_name>IMG-20160425-WA0002.jpg</physical_name>
    </file>
    <file>
        <physical_name>msvcp120d.dll</physical_name>
    </file>
    <file>
        <physical_name>msvcr120d.dll</physical_name>
    </file>
    <file>
        <physical_name>opencv_core2413d.dll</physical_name>
    </file>
    <file>
        <physical_name>opencv_highgui2413d.dll</physical_name>
    </file>
    <file>
        <physical_name>opencv_imgproc2413d.dll</physical_name>
    </file>
</version> 

sampleimage_job_1.0.xml:
<job_desc>
    <task>
        <application>sampleimage</application>
        <stdout_filename>console.log</stdout_filename>
    </task>
</job_desc> 

sampleimage_in and sampleimage_out respectively :
<file_info>
    <number>0</number>
</file_info>
<workunit>
    <file_ref>
        <file_number>0</file_number>
        <open_name>in</open_name>
        <copy_file/>
    </file_ref>
    <rsc_fpops_bound>1e12</rsc_fpops_bound>
    <rsc_fpops_est>1e14</rsc_fpops_est>
</workunit> 

<file_info>
    <name><OUTFILE_0/></name>
    <generated_locally/>
    <upload_when_present/>
    <max_nbytes>5000000</max_nbytes>
    <url><UPLOAD_URL/></url>
</file_info>
<result>
    <file_ref>
        <file_name><OUTFILE_0/></file_name>
        <open_name>imag1.jpg</open_name>    //"image1.jpg" is the expected output to be produced by program
        <copy_file/>
    </file_ref>
</result>


Notes: Similar input and output templates were used for linux application , and similar version.xml and appname_job_version.xml files. However the linux application I wrote was hello world writing output in a text file "out.txt", because I was just trying to figure out how to use wrappers. When trying for windows I wrote a application which does some image processing. However in both cases similar pattern was used to write input and output templates and other stuff like version.xml etc. I want to know is there any problem with the wrapper or my files ? I would really appreciate if someone help me out.

More info : bin/create_work --appname sampleimage input was used to create work unit.
And before doing anything I already configured server with --test app and tried clients on different platforms. There was no problem when trying out --test_app (uppercase example). Thanking you in anticipation.

Event Log for client:
0/26/2017 11:09:00 PM |  | Starting BOINC client version 7.8.3 for windows_x86_64
10/26/2017 11:09:00 PM |  | log flags: file_xfer, sched_ops, task
10/26/2017 11:09:00 PM |  | Libraries: libcurl/7.47.1 OpenSSL/1.0.2g zlib/1.2.8
10/26/2017 11:09:00 PM |  | Data directory: C:\ProgramddData\BOINC
10/26/2017 11:09:00 PM |  | Running under account Muhammad Adil
10/26/2017 11:09:00 PM |  | OpenCL: Intel GPU 0: Intel(R) HD Graphics 4600 (driver version 10.18.10.3977, device version OpenCL 1.2, 1426MB, 1426MB available, 64 GFLOPS peak)
10/26/2017 11:09:00 PM |  | OpenCL CPU: Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz (OpenCL driver vendor: Intel(R) Corporation, driver version 4.2.0.99, device version OpenCL 1.2 (Build 99))
10/26/2017 11:09:00 PM |  | Creating new client state file
10/26/2017 11:09:00 PM |  | Host name: MuhammadAdil
10/26/2017 11:09:00 PM |  | Processor: 8 GenuineIntel Intel(R) Core(TM) i7-4770 CPU @ 3.40GHz [Family 6 Model 60 Stepping 3]
10/26/2017 11:09:00 PM |  | Processor features: fpu vme de pse tsc msr pae mce cx8 apic sep mtrr pge mca cmov pat pse36 clflush dts acpi mmx fxsr sse sse2 ss htt tm pni ssse3 fma cx16 sse4_1 sse4_2 movebe popcnt aes f16c rdrandsyscall nx lm avx avx2 vmx smx tm2 pbe fsgsbase bmi1 smep bmi2
10/26/2017 11:09:00 PM |  | OS: Microsoft Windows 8.1: Enterprise x64 Edition, (06.03.9600.00)
10/26/2017 11:09:00 PM |  | Memory: 7.91 GB physical, 9.16 GB virtual
10/26/2017 11:09:00 PM |  | Disk: 194.97 GB total, 15.56 GB free
10/26/2017 11:09:00 PM |  | Local time is UTC +5 hours
10/26/2017 11:09:05 PM |  | No general preferences found - using defaults
10/26/2017 11:09:05 PM |  | Preferences:
10/26/2017 11:09:05 PM |  | max memory usage when active: 4050.11 MB
10/26/2017 11:09:05 PM |  | max memory usage when idle: 7290.20 MB
10/26/2017 11:09:05 PM |  | max disk usage: 15.46 GB
10/26/2017 11:09:05 PM |  | don't use GPU while active
10/26/2017 11:09:05 PM |  | suspend work if non-BOINC CPU load exceeds 25%
10/26/2017 11:09:05 PM |  | (to change preferences, visit a project web site or select Preferences in the Manager)
10/26/2017 11:09:05 PM |  | This computer is not attached to any projects
10/26/2017 11:09:05 PM |  | Visit http://boinc.berkeley.edu for instructions
10/26/2017 11:09:05 PM |  | Suspending GPU computation - computer is in use
10/26/2017 11:09:11 PM |  | Fetching configuration file from http://35.202.147.85/windowsdemo/get_project_config.php
10/26/2017 11:13:34 PM |  | Running CPU benchmarks
10/26/2017 11:13:34 PM |  | Suspending computation - CPU benchmarks in progress
10/26/2017 11:14:05 PM |  | Benchmark results:
10/26/2017 11:14:05 PM |  | Number of CPUs: 8
10/26/2017 11:14:05 PM |  | 4155 floating point MIPS (Whetstone) per CPU
10/26/2017 11:14:05 PM |  | 16669 integer MIPS (Dhrystone) per CPU
10/26/2017 11:14:06 PM |  | Resuming computation
10/26/2017 11:14:08 PM | windowsdemo | Master file download succeeded
10/26/2017 11:14:13 PM | windowsdemo | Sending scheduler request: Project initialization.
10/26/2017 11:14:13 PM | windowsdemo | Requesting new tasks for CPU and Intel GPU
10/26/2017 11:14:15 PM | windowsdemo | Scheduler request completed: got 1 new tasks
10/26/2017 11:14:17 PM | windowsdemo | Started download of wrapper_26014_windows_x86_64.exe
10/26/2017 11:14:17 PM | windowsdemo | Started download of sampleimage_1.0_windows_x86_64.exe
10/26/2017 11:14:20 PM | windowsdemo | Finished download of sampleimage_1.0_windows_x86_64.exe
10/26/2017 11:14:20 PM | windowsdemo | Started download of sampleimage_job_1.0.xml
10/26/2017 11:14:21 PM | windowsdemo | Finished download of sampleimage_job_1.0.xml
10/26/2017 11:14:21 PM | windowsdemo | Started download of wrapper_26014_windows_x86_64.pdb
10/26/2017 11:14:26 PM | windowsdemo | Sending scheduler request: To fetch work.
10/26/2017 11:14:26 PM | windowsdemo | Requesting new tasks for CPU
10/26/2017 11:14:28 PM | windowsdemo | Scheduler request completed: got 1 new tasks
10/26/2017 11:14:30 PM | windowsdemo | Finished download of wrapper_26014_windows_x86_64.exe
10/26/2017 11:14:30 PM | windowsdemo | Started download of IMG-20160425-WA0002.jpg
10/26/2017 11:14:31 PM | windowsdemo | Finished download of IMG-20160425-WA0002.jpg
10/26/2017 11:14:31 PM | windowsdemo | Started download of msvcp120d.dll
10/26/2017 11:14:38 PM | windowsdemo | Sending scheduler request: To fetch work.
10/26/2017 11:14:38 PM | windowsdemo | Requesting new tasks for CPU
10/26/2017 11:14:41 PM | windowsdemo | Scheduler request completed: got 0 new tasks
10/26/2017 11:14:41 PM | windowsdemo | Project has no tasks available
10/26/2017 11:14:49 PM | windowsdemo | Finished download of msvcp120d.dll
10/26/2017 11:14:49 PM | windowsdemo | Started download of msvcr120d.dll
10/26/2017 11:15:10 PM | windowsdemo | Finished download of msvcr120d.dll
10/26/2017 11:15:10 PM | windowsdemo | Started download of opencv_core2413d.dll
10/26/2017 11:15:11 PM | windowsdemo | Finished download of wrapper_26014_windows_x86_64.pdb
10/26/2017 11:15:11 PM | windowsdemo | Started download of opencv_highgui2413d.dll
10/26/2017 11:15:59 PM | windowsdemo | Finished download of opencv_highgui2413d.dll
10/26/2017 11:15:59 PM | windowsdemo | Started download of opencv_imgproc2413d.dll
10/26/2017 11:16:06 PM | windowsdemo | Finished download of opencv_core2413d.dll
10/26/2017 11:16:06 PM | windowsdemo | Started download of input
10/26/2017 11:16:08 PM | windowsdemo | Finished download of input
10/26/2017 11:16:28 PM | windowsdemo | Finished download of opencv_imgproc2413d.dll
10/26/2017 11:16:28 PM | windowsdemo | Starting task sampleimage_8629_1509040175.967904_0
10/26/2017 11:16:28 PM | windowsdemo | Starting task sampleimage_8629_1509040175.967904_1
10/26/2017 11:16:32 PM | windowsdemo | Computation for task sampleimage_8629_1509040175.967904_0 finished
10/26/2017 11:16:32 PM | windowsdemo | Output file sampleimage_8629_1509040175.967904_0_r426141343_0 for task sampleimage_8629_1509040175.967904_0 absent
10/26/2017 11:16:32 PM | windowsdemo | Computation for task sampleimage_8629_1509040175.967904_1 finished
10/26/2017 11:16:32 PM | windowsdemo | Output file sampleimage_8629_1509040175.967904_1_r1632464851_0 for task sampleimage_8629_1509040175.967904_1 absent
ID: 82268 · Report as offensive     Reply Quote
Saad

Send message
Joined: 23 Oct 17
Posts: 5
Message 82269 - Posted: 26 Oct 2017, 19:36:24 UTC - in response to Message 82268.  

Out of curiosity I also tried to run wrapper_26016_windows_x86_64.exe present in client projects directory to see whether it executes sampleimage_windows_x86_64.exe, it displayed can't parse job.xml.
ID: 82269 · Report as offensive     Reply Quote
rebirther
Help desk expert
Avatar

Send message
Joined: 21 Jun 06
Posts: 141
Germany
Message 82270 - Posted: 26 Oct 2017, 20:36:27 UTC - in response to Message 82269.  
Last modified: 26 Oct 2017, 20:37:24 UTC

Out of curiosity I also tried to run wrapper_26016_windows_x86_64.exe present in client projects directory to see whether it executes sampleimage_windows_x86_64.exe, it displayed can't parse job.xml.


<job_desc>
<task>
<application>sampleimage</application>
<stdout_filename>console.log</stdout_filename>
</task>
</job_desc>

change the application to the full exe name.

Its better to test the app standalone first, copy all files into a folder, you need also a job.xml file + wrapper. Execute the wrapper and check the stderr.txt. Maybe you also need a command line.
ID: 82270 · Report as offensive     Reply Quote
Saad

Send message
Joined: 23 Oct 17
Posts: 5
Message 82287 - Posted: 27 Oct 2017, 16:07:46 UTC - in response to Message 82270.  

Like "sampleimage.exe" or as defined in version.xml application's physical name shown below in version.xml :
<physical_name>sampleimage_1.0_windows_x86_64.exe</physical_name>
<logical_name>sampleimage</logical_name>
?

and thanks a lot for giving advice, I hope it works out.
ID: 82287 · Report as offensive     Reply Quote
rebirther
Help desk expert
Avatar

Send message
Joined: 21 Jun 06
Posts: 141
Germany
Message 82288 - Posted: 27 Oct 2017, 17:35:57 UTC - in response to Message 82287.  

Like "sampleimage.exe" or as defined in version.xml application's physical name shown below in version.xml :
<physical_name>sampleimage_1.0_windows_x86_64.exe</physical_name>
<logical_name>sampleimage</logical_name>
?

and thanks a lot for giving advice, I hope it works out.


Yes, its for windows, linux is another story.
ID: 82288 · Report as offensive     Reply Quote
Saad

Send message
Joined: 23 Oct 17
Posts: 5
Message 82417 - Posted: 30 Oct 2017, 17:50:24 UTC - in response to Message 82288.  

Thanks a lot it worked. I just had to specify the name correctly and it worked. Now wrapper is able to execute the exe file for computation. But unfortunately I need a little bit help, my sampleimage.exe file is executed but it is not able to read the input image file present in project directory, after executing the sampleimage.exe file it gives error the image not found (the error check is present in my application code, which checks if image is read proceed otherwise abort and print the error image not found, and this log in stderr.txt confirms that wrapper has executed .exe file successfully) So what I think now that my application code when run through windows wrapper is not able to manipulate/read the input file from projects directory.

Here is my input template (sampleimage_in):

<file_info>
    <number>0</number>
</file_info>
<workunit>
    <file_ref>
        <file_number>0</file_number>
        <open_name>IMG-20160425-WA0002.jpg</open_name>     /this is the input file for application
        <copy_file/>
    </file_ref>
    <rsc_fpops_bound>1e12</rsc_fpops_bound>
    <rsc_fpops_est>1e14</rsc_fpops_est>
</workunit>


Here is my output template (sampleimage_out):



<file_info>
    <name><OUTFILE_0/></name>
    <generated_locally/>
    <upload_when_present/>
    <max_nbytes>5000000</max_nbytes>
    <url><UPLOAD_URL/></url>
</file_info>
<result>
    <file_ref>
        <file_name><OUTFILE_0/></file_name>
        <open_name>imag1.jpg</open_name>    //this is the expected output to be produced by application.
        <copy_file/>
    </file_ref>
</result>


If required details for version.xml and sampleimage_job_1.0.xml they are already present in the threads above.
So now I just need to know how to write input and output templates for wrapper application, i guess the problem is how application reference files(input/output), may be the error is in mapping physical and logical names correctly. I read online documentation which says legacy applications(used through wrappers) if uses copy_file tag then physical and logical manipulation is not required; when application is run on client it copies to and from slots directory to projects directory. However I am stuck and can't read input file present file present in projects directory. Thanking you in anticipation.
ID: 82417 · Report as offensive     Reply Quote
boboviz

Send message
Joined: 12 Feb 11
Posts: 255
Italy
Message 82850 - Posted: 9 Nov 2017, 15:15:55 UTC - in response to Message 82417.  

Just a curiosity.
Is your an open project to public (maybe also in beta)?
Or is an internal (school, university, ecc) project?
ID: 82850 · Report as offensive     Reply Quote
rebirther
Help desk expert
Avatar

Send message
Joined: 21 Jun 06
Posts: 141
Germany
Message 83005 - Posted: 16 Nov 2017, 15:56:38 UTC - in response to Message 82417.  

Thanks a lot it worked. I just had to specify the name correctly and it worked. Now wrapper is able to execute the exe file for computation. But unfortunately I need a little bit help, my sampleimage.exe file is executed but it is not able to read the input image file present in project directory, after executing the sampleimage.exe file it gives error the image not found (the error check is present in my application code, which checks if image is read proceed otherwise abort and print the error image not found, and this log in stderr.txt confirms that wrapper has executed .exe file successfully) So what I think now that my application code when run through windows wrapper is not able to manipulate/read the input file from projects directory.


You must specify the input file by the work generation.
ID: 83005 · Report as offensive     Reply Quote

Message boards : API : Problem in getting result of computation using windows wrapper, error output for task absent kindly have a look.

Copyright © 2018 University of California. Permission is granted to copy, distribute and/or modify this document under the terms of the GNU Free Documentation License, Version 1.2 or any later version published by the Free Software Foundation.