I'd like to give you a bit of background information about this release. First of all we follow the "release early, release often" approach WRT CUDA. The reason for this is that it's one thing to get CUDA code running in a known environment, but a significantly different story when it comes to the heterogeneous outside world and BOINC. Therefore this beta release serves as a first test of the whole build and release chain as well as to identify potential BOINC-related problems. Lessons learned can then be used to simplify the deployment of upcoming, improved CUDA releases of the ABP1 radio pulsar search, but also - even more important - the upcoming CUDA version of the S5 hierarchical search.
So far we know that...
* The ABP1 CUDA release yields a performance improvement of factor ~2 (our own tests on Windows, Linux and Mac OS X) as we used the most trivial approach which still runs 30%-50% on the CPU
* We claim a full CPU core for the application because BOINC won't reset the task to idle priority when less than one core is claimed
* On-board devices typically can't handle this application due to lack of memory
* Only CUDA 2.1 seems to work reliably (2.2 might cause segfaults, consistent with findings at GPUGrid)
* This is release is targeted for 32 bit systems
* The BOINC client's internal task scheduler seems to have problems with CUDA device identification and task distribution
Thanks for supporting these tests! Please stay tuned for more as we're working hard on getting a first beta release of the hierarchical search as well as improved CPU and GPU versions of the ABP search.
Bernd,
Would you rather we test this new app. with the project supplied Cuda 2.1 or is it fine to go with the 2.3 DLL's if we have them.
If it works with the CUDA 2.3 libs, that's fine with me. I guess this depends also on BOINC and your driver version; we found it not working on our machines with 2.2 libs and the corresponding driver (189 IIRC).
Quote:
Also on the Beta download page it says
New work should get assigned to the new App einstein_S5R4_6.10.
Is this incorrect?
Outdated. I saw this too and removed it when updating the page for the Linux Beta App.
Early indications (approaching the 50% point) are that the app runs at the same speed whether the v2.1 or v2.3 dlls are used. May as well save the disk space and stick with 2.1!
So far, it appears to be only SETI, with its heavy reliance on FFT and 'problems' of many different sizes, that benefits from the newer FFT libraries.
Another small terminology problem on the Beta download page: you refer to "CUDA (2.1) devices".
CUDA cards also have a form of hardware version numbering, shown in BOINC's startup message log as the 'compute capability'. The 9800GT I'm using for my testing has a 'compute capability 1.1' (about the lowest acceptable to BOINC), and subject to validation seems to be performing OK with both software versions 2.1 and 2.3
Perhaps you could separate the hardware and software minimum requirements on the Beta download page, and express the software requirements there in terms of the minimum driver level (to be installed by the user), rather than the CUDA software version (which you supply).
[Edit - this software version/hardware compute capability ambiguity has caused considerable confusion for users on BOINC message boards since the introduction of CUDA to BOINC]
Early indications (approaching the 50% point) are that the app runs at the same speed whether the v2.1 or v2.3 dlls are used. May as well save the disk space and stick with 2.1!
That's right, we tested 2.1, 2.2 and 2.3 - all of which yielded more or less the same performance gain. CUDA 2.3 received a few FFT-related improvements but they don't seem to be applicable in our case (huge 1D, R2C/C2R, non-power-of-2 FFT).
Quote:
Another small terminology problem on the Beta download page: you refer to "CUDA (2.1) devices".
CUDA cards also have a form of hardware version numbering, shown in BOINC's startup message log as the 'compute capability'. The 9800GT I'm using for my testing has a 'compute capability 1.1' (about the lowest acceptable to BOINC), and subject to validation seems to be performing OK with both software versions 2.1 and 2.3
We're aware of these differences. However, up to now we have no specific requirements WRT "compute capabilities" and I suppose that future releases will query the hardware dynamically and adjust their CUDA kernel calls accordingly. Right now the API (the CUDA driver and toolkit) versions as well as their respective BOINC compatibilities are much more important to us.
Quote:
Perhaps you could separate the hardware and software minimum requirements on the Beta download page, and express the software requirements there in terms of the minimum driver level (to be installed by the user), rather than the CUDA software version (which you supply).
[Edit - this software version/hardware compute capability ambiguity has caused considerable confusion for users on BOINC message boards since the introduction of CUDA to BOINC]
Good idea. We'll try to do that next time where necessary.
Now, hopefully, to the education of a CUDA newbie.
I have a good knowledge of app_xml file use for GPU crunching using the ATI HD 38xx and 48xx graphics cards, and. also, for optimised CPU project crunching.
I note that in one of my Windoz PCs I have a graphic card reported as CUDA capable, but, until Einstein released a CUDA version, I stayed away from GPU crunching - preferring the double precision of the high end ATI cards (as found in Milkyway).
I am assuming that my nVidia CUDA card is capable of crunching Einstein (at least BOINC 6.4.7 reports it as such), and that I also need to download a CUDA driver for the GPU.
Is anybody willing to give me a pointer as to the files I need to download, with their links, for both the CUDA drivers and Einstein CUDA client, please?
Shih-Tzu are clever, cuddly, playful and rule!! Jack Russell are feisty!
Followed all the instructions given here and installed all the files, and restarted BOINC. It seems to refuse to download any work for me to see if the CUDA system works.
Any suggestions or, more to the point, what have I missed?
Shih-Tzu are clever, cuddly, playful and rule!! Jack Russell are feisty!
Hi everyone, I'd like to
)
Hi everyone,
I'd like to give you a bit of background information about this release. First of all we follow the "release early, release often" approach WRT CUDA. The reason for this is that it's one thing to get CUDA code running in a known environment, but a significantly different story when it comes to the heterogeneous outside world and BOINC. Therefore this beta release serves as a first test of the whole build and release chain as well as to identify potential BOINC-related problems. Lessons learned can then be used to simplify the deployment of upcoming, improved CUDA releases of the ABP1 radio pulsar search, but also - even more important - the upcoming CUDA version of the S5 hierarchical search.
So far we know that...
* We claim a full CPU core for the application because BOINC won't reset the task to idle priority when less than one core is claimed
* On-board devices typically can't handle this application due to lack of memory
* Only CUDA 2.1 seems to work reliably (2.2 might cause segfaults, consistent with findings at GPUGrid)
* This is release is targeted for 32 bit systems
* The BOINC client's internal task scheduler seems to have problems with CUDA device identification and task distribution
Thanks for supporting these tests! Please stay tuned for more as we're working hard on getting a first beta release of the hierarchical search as well as improved CPU and GPU versions of the ABP search.
Cheers,
Oliver
Einstein@Home Project
RE: Bernd, Would you rather
)
If it works with the CUDA 2.3 libs, that's fine with me. I guess this depends also on BOINC and your driver version; we found it not working on our machines with 2.2 libs and the corresponding driver (189 IIRC).
Outdated. I saw this too and removed it when updating the page for the Linux Beta App.
BM
BM
Early indications
)
Early indications (approaching the 50% point) are that the app runs at the same speed whether the v2.1 or v2.3 dlls are used. May as well save the disk space and stick with 2.1!
So far, it appears to be only SETI, with its heavy reliance on FFT and 'problems' of many different sizes, that benefits from the newer FFT libraries.
Another small terminology problem on the Beta download page: you refer to "CUDA (2.1) devices".
CUDA cards also have a form of hardware version numbering, shown in BOINC's startup message log as the 'compute capability'. The 9800GT I'm using for my testing has a 'compute capability 1.1' (about the lowest acceptable to BOINC), and subject to validation seems to be performing OK with both software versions 2.1 and 2.3
Perhaps you could separate the hardware and software minimum requirements on the Beta download page, and express the software requirements there in terms of the minimum driver level (to be installed by the user), rather than the CUDA software version (which you supply).
[Edit - this software version/hardware compute capability ambiguity has caused considerable confusion for users on BOINC message boards since the introduction of CUDA to BOINC]
Hi
)
Hi Richard,
That's right, we tested 2.1, 2.2 and 2.3 - all of which yielded more or less the same performance gain. CUDA 2.3 received a few FFT-related improvements but they don't seem to be applicable in our case (huge 1D, R2C/C2R, non-power-of-2 FFT).
We're aware of these differences. However, up to now we have no specific requirements WRT "compute capabilities" and I suppose that future releases will query the hardware dynamically and adjust their CUDA kernel calls accordingly. Right now the API (the CUDA driver and toolkit) versions as well as their respective BOINC compatibilities are much more important to us.
Good idea. We'll try to do that next time where necessary.
Oliver
Einstein@Home Project
The v2.1 runtime test has
)
The v2.1 runtime test has finished, slightly quicker than v2.3 (5:59:41 CPU, 6:01:21 elapsed - probably not a significant vatiation).
This one has a wingmate already (WU 56844496) - feel free to give the validator a whirl!
Now, hopefully, to the
)
Now, hopefully, to the education of a CUDA newbie.
I have a good knowledge of app_xml file use for GPU crunching using the ATI HD 38xx and 48xx graphics cards, and. also, for optimised CPU project crunching.
I note that in one of my Windoz PCs I have a graphic card reported as CUDA capable, but, until Einstein released a CUDA version, I stayed away from GPU crunching - preferring the double precision of the high end ATI cards (as found in Milkyway).
I am assuming that my nVidia CUDA card is capable of crunching Einstein (at least BOINC 6.4.7 reports it as such), and that I also need to download a CUDA driver for the GPU.
Is anybody willing to give me a pointer as to the files I need to download, with their links, for both the CUDA drivers and Einstein CUDA client, please?
Shih-Tzu are clever, cuddly, playful and rule!! Jack Russell are feisty!
Go to the beta test
)
Go to the beta test page.
Tullio
RE: Go to the beta test
)
Thanks Tullio.
I am being a little stupid (not drunk and not a late night yet), but I cannot see a link to the beta test page at the Einstein home page?
After looking towards the bottom of the home page I saw a link to the beta test page.
Shih-Tzu are clever, cuddly, playful and rule!! Jack Russell are feisty!
RE: RE: Go to the beta
)
link in the very first post.. http://einstein.phys.uwm.edu/app_test.php#windows
seeing without seeing is something the blind learn to do, and seeing beyond vision can be a gift.
Followed all the instructions
)
Followed all the instructions given here and installed all the files, and restarted BOINC. It seems to refuse to download any work for me to see if the CUDA system works.
Any suggestions or, more to the point, what have I missed?
Shih-Tzu are clever, cuddly, playful and rule!! Jack Russell are feisty!