From e3b71debc57bf4f808d411f0f1b294262f871bca Mon Sep 17 00:00:00 2001 From: Tuan Le Date: Tue, 13 Jul 2010 20:02:52 +0000 Subject: [PATCH] contents from these files could be found on trac wiki page. svn path=/trunk/boinc/; revision=21907 --- samples/nvcuda/readme.txt | 49 --------------------------------- samples/nvcuda/readme_mac.txt | 51 ----------------------------------- 2 files changed, 100 deletions(-) delete mode 100644 samples/nvcuda/readme.txt delete mode 100644 samples/nvcuda/readme_mac.txt diff --git a/samples/nvcuda/readme.txt b/samples/nvcuda/readme.txt deleted file mode 100644 index c848d3f66e..0000000000 --- a/samples/nvcuda/readme.txt +++ /dev/null @@ -1,49 +0,0 @@ -Tuan Le -University of California, Berkeley -Berkeley Space Sciences Lab -tuanle86@berkeley.edu - ------------------------ Compiler ---------------------------- - -You will need to install gcc 4.3 and g++ 4.3. It appears that Cuda 3.0 SDK has not yet worked -with gcc 4.4 and g++ 4.4. Please follow these steps: - -sudo aptitude install gcc-4.3 g++-4.3 -cd ~/NVIDIA_GPU_Computing_SDK/C (go to SDK source dir. You should find the right path on your machine) -mkdir mygcc -cd mygcc -ln -s $(which g++-4.3) g++ -ln -s $(which gcc-4.3) gcc - -Note: mygcc directory must be created since I have made symlinks to the 4.3 compiler to mygcc directory -in my current Makefile. - ------------------------ Linux Makefile ---------------------- - -common.mk file needs to be edited on your machine before running. Please follow these steps: - -1) Open "boinc/samples/nvcuda/common.mk" with gedit -2) Ctrl+f and search for "tuanle". You will find the following: - -ROOTDIR ?= /home/tuanle/NVIDIA_GPU_Computing_SDK - -3) Replace this path with an appropriate path on your machine. -4) Done! - - ------------------------ Linux Troubleshooting ---------------- - -Error: ./example_app_nvcuda: error while loading shared libraries: libcudart.so.3: cannot open - shared object file: No such file or directory -Read: http://developer.download.nvidia.com/compute/cuda/3_0/docs/GettingStartedLinux.pdf (on top of page 6) -Solution: export PATH=/usr/local/cuda/bin:$PATH - export LD_LIBRARY_PATH=/usr/local/cuda/lib:$LD_LIBRARY_PATH - - ------------------------ Run Executable file ------------------ - -"make" command will create an executable file in "boinc/samples/nvcuda/linux/release/". -If your machine doesn't have CUDA-enabled GPU, then the executable file for this sample app in -the release directory will stop execution after the statement "Start at inversion #1" is printed out on -the terminal. In this case, it's best to run in emurelease mode. To generate an executable file in -emurelease mode, type "make emu=1". The executable file is then created in "boinc/samples/nvcuda/linux/emurelease/". diff --git a/samples/nvcuda/readme_mac.txt b/samples/nvcuda/readme_mac.txt deleted file mode 100644 index f1fa78242f..0000000000 --- a/samples/nvcuda/readme_mac.txt +++ /dev/null @@ -1,51 +0,0 @@ -Tuan Le -University of California, Berkeley -Berkeley Space Sciences Lab -tuanle86@berkeley.edu - ------------------------ Mac OS Makefile ---------------------- -By default, the NVIDIA Cuda SDK for MacOS is installed at $ROOT/Developer/ under the directory name "GPU Computing". -If it is installed somewhere else, then common_mac.mk file needs to be edited by the following steps: - -1) Open "boinc/samples/nvcuda/common_mac.mk" -2) Look for "ROOTDIR ?= /DeveloperGPU\ Computing" -3) Replace this path with an appropriate path on your machine. -4) Done! - ------------------------ Mac Troubleshooting ---------------- - -Error: ./example_app_nvcuda_mac: library not found for -lcutil_i386. -Solution: run make from "CPU Computing" directory to build the cutil_i386 library. - -Note: It appears that nvcc compiler has trouble compiling .cu file that contains both BOINC and - Cuda code. Any attempt to compile such .cu files will result in errors like the following: - - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/mmintrin.h(55): error: identifier "__builtin_ia32_emms" is undefined - - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/mmintrin.h(68): error: identifier "__builtin_ia32_vec_init_v2si" is undefined - - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/mmintrin.h(111): error: identifier "__builtin_ia32_vec_ext_v2si" is undefined - - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/mmintrin.h(150): error: identifier "__builtin_ia32_packsswb" is undefined - - /usr/lib/gcc/i686-apple-darwin9/4.0.1/include/mmintrin.h(165): error: identifier "__builtin_ia32_packssdw" is undefined - - ........... - - The solution that I came up with is to compile BOINC and Cuda seperately. Put BOINC code in .c file and CUDA code in .cu file. - Then, write an external function in .cu file that will make kernel calls, do computation and return a result that could be used - in .c file. - ------------------------ Run Executable file ------------------ - -"make -f Makefile_mac" command will create an executable file in "boinc/samples/nvcuda/darwin/release/". -If your machine doesn't have CUDA-enabled GPU, then the executable file for this sample app in -the release directory will stop execution after some output statements on the terminal. In this case, -it's best to run in emurelease mode. To generate an executable file in emurelease mode, type -"make -f Makefile_mac emu=1". The executable file is then created in "boinc/samples/nvcuda/darwin/emurelease/". -Note that NVIDIA Cuda SDK version older than version 3.0 will no longer support emulation mode. - -Also, you need to define some environment variables before running the executable file. - -export PATH=/usr/local/cuda/bin:$PATH -export DYLD_LIBRARY_PATH=/usr/local/cuda/lib:$DYLD_LIBRARY_PATH \ No newline at end of file