Today I got my fresh new computer up and run with the AMD FX8350 CPU, 16Gbyte RAM and GTX 680 GPU card with 4 GByte, Ubuntu 12.10 64 bit and BOINC 7.0.27.
Then I happily connected to the Einstein project, and what a disappointment. The standard CPU applications runs just fine, but the GPU versions are telling about too little memory, just as I have with my micro GPU (see the thread).
I know this may be a issue with the BOINC client, but all the Primegrid GPU applications runs just fine.
I really do wanna crunch Einstein GPU applications, but this silly bug do stop me. Is it possible, either by an extra option on the prefernece page or as a hardcoding to make an override of the memory test? Thus it will be possible to run the application despite this BOINC bug, just as the Primegrid applications do pretty well.
With very best regards
Bent Vangli, Oslo, Norway
PS! My older installations runs both CPU and GPU Einstein application.
I am seeing these errors on one of your 680 hosts:
error while loading shared libraries: libcuda.so.1: wrong ELF class: ELFCLASS64
It looks like the application may be referencing a 64-bit CUDA library when instead the application needs the 32-bit CUDA library. The NVIDIA driver installer should place the 32-bit libraries in /usr/lib and 64-bit libraries in /usr/lib64. Make sure the libcuda.so.1 in /usr/lib is in fact 32-bit.
RE: Today I got my fresh
)
I am seeing these errors on one of your 680 hosts:
error while loading shared libraries: libcuda.so.1: wrong ELF class: ELFCLASS64
It looks like the application may be referencing a 64-bit CUDA library when instead the application needs the 32-bit CUDA library. The NVIDIA driver installer should place the 32-bit libraries in /usr/lib and 64-bit libraries in /usr/lib64. Make sure the libcuda.so.1 in /usr/lib is in fact 32-bit.
Superb pointed out. I thought
)
Superb pointed out. I thought I have done this correctly by putting a symbolic link in the project directory.
root@vax04:/home/beva# locate libcuda.so
/usr/lib/libcuda.so
/usr/lib/libcuda.so.1
/usr/lib/libcuda.so.310.14
/usr/lib32/libcuda.so
/usr/lib32/libcuda.so.1
/usr/lib32/libcuda.so.310.14
/var/lib/boinc-client/projects/einstein.phys.uwm.edu/libcuda.so.1
root@vax04:/home/beva# ll /var/lib/boinc-client/projects/einstein.phys.uwm.edu/libcuda.so.1
lrwxrwxrwx 1 root root 23 nov. 8 09:22 /var/lib/boinc-client/projects/einstein.phys.uwm.edu/libcuda.so.1 -> /usr/lib32/libcuda.so.1
As you can see, the 32 bit libraries are put in /usr/lib32, while the 64 bit versions are placed in /usr/lib. Which libraries are in use?
root@vax04:/home/beva# lsof | grep libcuda.so
boinc 3733 boinc mem REG 8,19 10326030 8658336 /usr/lib/libcuda.so.310.14
acemd.256 9557 boinc mem REG 8,19 10326030 8658336 /usr/lib/libcuda.so.310.14
acemd.256 9557 9558 boinc mem REG 8,19 10326030 8658336 /usr/lib/libcuda.so.310.14
acemd.256 9557 9559 boinc mem REG 8,19 10326030 8658336 /usr/lib/libcuda.so.310.14
And indeed, boinc use the 64 bit library despite my genius symbolic link :-))).
Well, then I have to figure out how to circumvent this without introducing other errors, he-he :-)))
And then the solution (at
)
And then the solution (at least for me).
In the project directory I made a 'better' symbolic link.
ln -s /usr/lib32/libcuda.so.1 /var/lib/boinc-client/projects/einstein.phys.uwm.edu/libcuda.so
The local symbolic link should be named libcuda.so, not libcuda.so.1.
And now the Einstein GPU application is running so nicely. Thank for all help.
Best regards
Bent Vangli, Oslo, Norway