The more i look around, the more suspicious I am that Apple haven't bothered to expose the HD4000 in my iMac's cpu for OpenCL. I'm very willing to try an app if people think otherwise tho.
Yesterday I finally got my hands on a Windows PC with Ivy Bridge CPU and a HD 2500 integrated GPU ...yeah... !!
So I played around with it a bit, with mixed results:
I was unable so far to trick BOINC into doing E@H work units on the HD GPU under BOINC control. I got it as far as requesting CPU work and then trying to run it on the GPU, but at that point it fails. The server software of E@H doesn't yet understand work requests for Intel GPUs, so I thought some combination of app_info.xml and cc_config.xml editing might do the trick, but so far this doesn't work for me. I'll keep trying and will need to talk to Bernd next week when back at the office, Bernd is our expert on the E@H server part software.
If all else fails I will build a special app version that ignores all input from the BOINC side and will run the task on the first Intel GPU it can find....for testing only, of course.
Oh well, so let's start with standalone testing.
You can download a ZIP file containing the input files for a BRP4 task (complete with 8 sub-tasks) from here:
Look up the device number of teh Intel HD GPU , there should be something the event log of BOINC like
Quote:
OpenCL: Intel GPU N: Intel HD ...
where N is the number you are looking for.
Now run this in the directory you have created with all the downloaded stuff:
run_test.bat EXE-FILEN
where EXE-FILE is the name of the executable you downloaded and N is the device number (see above).
Ideally, the BRP4 workunit will now start processsing in standalone mode. Output will be continuously written to the file stderr.txt so you can periodically check there for messages.
On my new PC it took about 10 hours while the CPU was under full load with regular BOINC CPU jobs. So not a very realistic test yet. I'll have to make some tests with one phycical or virtual core reserved for the GPU app.
Some observations:
I got some error messages in my stderr.txt which need some investigation. I suspect that the dynamic memory allocation of the GPU as opposed to the dedicated video RAM of GPUs on PCIe boards may cause some problems.
I used GPU-Z to monitor the GPU, and it seems to be very aggressive in downclocking the GPU clock rate. Well, the GPU shares the power and thermal envelope with the CPU. Does anyone know what kind of control one has to configure the Intel HD GPU, via BIOS or Intel tools? I need to explore this a bit more.
During the tests, the HD 2500 was also driving the video output for the PC. There have been numerous reports that the Intel OpenCL drivers cause problems for running OpenCL apps on other GPUs, so I will only later install a HD 7790 in this system.
Has anyone manged to install drivers in a way that both an Intel HD GPU and an AMD GPU are visible as OpenCL cards to BOINC at the same time? If so, how?
I would be grateful to hear about results of running the standalone test on an Intel HD 4000.
I've recently tested a app on Seti@home using the HD 4000 while at the same time running Einstein tasks on a GTX660Ti, no problems encountered if you disregard the serverside inability to handle Intel GPUs.
For the problems of using another GPU (Nvidia or AMD) in the system was solved around Boinc 7.0.44 or maybe a few versions before that. At least 7.0.44 and newer have work for me.
I'll give this a try tomorrow when I get home from work!
I've recently tested a app on Seti@home using the HD 4000 while at the same time running Einstein tasks on a GTX660Ti, no problems encountered if you disregard the serverside inability to handle Intel GPUs.
Thanks for the feedback. If my recollection is right, the bulk of the problems was with running Intel HD and AMD GPU jobs in parallel, as both would use OpenCL and I think that's where the drivers would somehow collide. But this as well could have been fixed by now, so any additional feedback on this problem is welcome.
I would be grateful to hear about results of running the standalone test on an Intel HD 4000.
Cheers
HB
The first preliminary result on my standalone test on my HD 4000 says that it's running and quite fast. I'm running this first test with Boinc restricted to 7 of the 8 threads on the CPU and 2 BRP5 on my GTX660Ti.
GPU-Z is showing GPU load mostly between 80-85% with the occasional drop to 0% and some spikes up to ~90%, memory usage is around 350 MB of dynamic memory with a max of 417 MB.
The first 1/8 finished in about 20 min if I'm reading the log in stderr.txt right! More to come when it's finished!
Quote:
Activated exception handling...
19:21:58 (4132): Can't open init data file - running in standalone mode
Failed to create shared memory area!
[19:21:58][4132][WARN ] Shared memory setup failed!
[19:21:58][4132][INFO ] Starting data processing...
[19:21:58][4132][INFO ] Using OpenCL platform provided by: Intel(R) Corporation
[19:21:58][4132][INFO ] Using OpenCL device "Intel(R) HD Graphics 4000" by: Intel(R) Corporation
[19:22:15][4132][INFO ] Checkpoint file unavailable: status.cpt (No such file or directory).
------> Starting from scratch...
[19:22:15][4132][INFO ] Header contents:
------> Original WAPP file: ./p2030.20110113.G195.15-00.85.C.b6s0g0.00000_DM505.60
------> Sample time in microseconds: 65.4762
------> Observation time in seconds: 274.62705
------> Time stamp (MJD): 55575.135270223371
------> Number of samples/record: 0
------> Center freq in MHz: 1214.289551
------> Channel band in MHz: 0.33605957
------> Number of channels/record: 960
------> Nifs: 1
------> RA (J2000): 61517.5632
------> DEC (J2000): 152530.292601
------> Galactic l: 0
------> Galactic b: 0
------> Name: G195.15-00.85.C
------> Lagformat: 0
------> Sum: 1
------> Level: 3
------> AZ at start: 0
------> ZA at start: 0
------> AST at start: 0
------> LST at start: 0
------> Project ID: --
------> Observers: --
------> File size (bytes): 0
------> Data size (bytes): 0
------> Number of samples: 4194304
------> Trial dispersion measure: 505.6 cm^-3 pc
------> Scale factor: 0.00152905
[19:22:21][4132][INFO ] Seed for random number generator is 1167003648.
[19:22:31][4132][ERROR] Error in OpenCL context: Out of device memory.
[19:22:31][4132][ERROR] Error in OpenCL context: Out of device memory.
[19:22:31][4132][INFO ] Derived global search parameters:
------> f_A probability = 0.08
------> single bin prob(P_noise > P_thr) = 1.32531e-008
------> thr1 = 18.139
------> thr2 = 21.241
------> thr4 = 26.2686
------> thr8 = 34.6478
------> thr16 = 48.9581
[19:27:25][4132][INFO ] Checkpoint committed!
[19:32:53][4132][INFO ] Checkpoint committed!
[19:38:20][4132][INFO ] Checkpoint committed!
[19:41:14][4132][INFO ] OpenCL shutdown complete!
19:41:14 (4132): Can't open init data file - running in standalone mode
[19:41:14][4132][WARN ] User/host details unavailable...
[19:41:14][4132][INFO ] Statistics: count dirty SumSpec pages 461 (not checkpointed), Page Size 1024, fundamental_idx_hi-window_2: 329052
[19:41:14][4132][INFO ] Data processing finished successfully!
Hi Thanks guys, that's a
Hi
Thanks guys, that's a plan.
OK, so I put an item on my TODO list, expect something next week. Feel free to nag me if I should not deliver :-)
Cheers
HB
RE: Feel free to nag me if
So a friendly reminder! =)
No problem if there's no time for this right now.
My GTX660Ti bit the dust and stopped outputting any video so I only have the HD4000 for the time being while my warranty claim is processed... =(
The more i look around, the
The more i look around, the more suspicious I am that Apple haven't bothered to expose the HD4000 in my iMac's cpu for OpenCL. I'm very willing to try an app if people think otherwise tho.
Hi all, Sorry for the delay.
Hi all,
Sorry for the delay.
Yesterday I finally got my hands on a Windows PC with Ivy Bridge CPU and a HD 2500 integrated GPU ...yeah... !!
So I played around with it a bit, with mixed results:
I was unable so far to trick BOINC into doing E@H work units on the HD GPU under BOINC control. I got it as far as requesting CPU work and then trying to run it on the GPU, but at that point it fails. The server software of E@H doesn't yet understand work requests for Intel GPUs, so I thought some combination of app_info.xml and cc_config.xml editing might do the trick, but so far this doesn't work for me. I'll keep trying and will need to talk to Bernd next week when back at the office, Bernd is our expert on the E@H server part software.
If all else fails I will build a special app version that ignores all input from the BOINC side and will run the task on the first Intel GPU it can find....for testing only, of course.
Oh well, so let's start with standalone testing.
You can download a ZIP file containing the input files for a BRP4 task (complete with 8 sub-tasks) from here:
http://www.ehea-obs.org/boinc/intel_hd_test.zip
and unpack it to some directory.
Now download the OpenCL-ATI binary from Albert to the same directory:
Win 32:
http://albert.phys.uwm.edu/EinsteinAtHome/download/einsteinbinary_BRP4_1.35_windows_intelx86__opencl-ati.exe
Win 64:
http://albert.phys.uwm.edu/EinsteinAtHome/download/einsteinbinary_BRP4_1.35_windows_x86_64__opencl-ati.exe
Look up the device number of teh Intel HD GPU , there should be something the event log of BOINC like
where N is the number you are looking for.
Now run this in the directory you have created with all the downloaded stuff:
run_test.bat EXE-FILE N
where EXE-FILE is the name of the executable you downloaded and N is the device number (see above).
Ideally, the BRP4 workunit will now start processsing in standalone mode. Output will be continuously written to the file stderr.txt so you can periodically check there for messages.
On my new PC it took about 10 hours while the CPU was under full load with regular BOINC CPU jobs. So not a very realistic test yet. I'll have to make some tests with one phycical or virtual core reserved for the GPU app.
Some observations:
I got some error messages in my stderr.txt which need some investigation. I suspect that the dynamic memory allocation of the GPU as opposed to the dedicated video RAM of GPUs on PCIe boards may cause some problems.
I used GPU-Z to monitor the GPU, and it seems to be very aggressive in downclocking the GPU clock rate. Well, the GPU shares the power and thermal envelope with the CPU. Does anyone know what kind of control one has to configure the Intel HD GPU, via BIOS or Intel tools? I need to explore this a bit more.
During the tests, the HD 2500 was also driving the video output for the PC. There have been numerous reports that the Intel OpenCL drivers cause problems for running OpenCL apps on other GPUs, so I will only later install a HD 7790 in this system.
Has anyone manged to install drivers in a way that both an Intel HD GPU and an AMD GPU are visible as OpenCL cards to BOINC at the same time? If so, how?
I would be grateful to hear about results of running the standalone test on an Intel HD 4000.
Cheers
HB
I've recently tested a app on
I've recently tested a app on Seti@home using the HD 4000 while at the same time running Einstein tasks on a GTX660Ti, no problems encountered if you disregard the serverside inability to handle Intel GPUs.
For the problems of using another GPU (Nvidia or AMD) in the system was solved around Boinc 7.0.44 or maybe a few versions before that. At least 7.0.44 and newer have work for me.
I'll give this a try tomorrow when I get home from work!
RE: I've recently tested a
Thanks for the feedback. If my recollection is right, the bulk of the problems was with running Intel HD and AMD GPU jobs in parallel, as both would use OpenCL and I think that's where the drivers would somehow collide. But this as well could have been fixed by now, so any additional feedback on this problem is welcome.
Cheers
HB
I believe the server side
I believe the server side support for intel gpu has been added fairly recently (at least on SETI).
RE: I would be grateful to
The first preliminary result on my standalone test on my HD 4000 says that it's running and quite fast. I'm running this first test with Boinc restricted to 7 of the 8 threads on the CPU and 2 BRP5 on my GTX660Ti.
GPU-Z is showing GPU load mostly between 80-85% with the occasional drop to 0% and some spikes up to ~90%, memory usage is around 350 MB of dynamic memory with a max of 417 MB.
The first 1/8 finished in about 20 min if I'm reading the log in stderr.txt right! More to come when it's finished!
Thanks very much
Thanks very much indeed!
Very interesting. The log shows the same error messages that I saw on my HD 2500 (somehow the results are still valid).
Cheers
HB
The task has now been
The task has now been completed and no errors occurred, so looks good and well done! =)
Total runtime was 2h21m59s and CPU time ~2m23s.
I've zipped the result files and stderr.txt and can e-mail it if your interested.
Tomorrow I'll try with the system fully loaded on all 8 threads and the GTX660Ti.