opensuse 10.3 anyone?

I am considering installing OpenSUSE 10.3.
Has anyone successfully tried CUDA on OpenSUSE 10.3?

Yes, I am running CUDA on openSuse 10.3 and it works fine.

I have a little problem with constant memory but I don’t think it is the problem of 10.3

Good Luck!

So far I have gotten to the point and get 2 errors depending on the project in the SDK kit.

For scan and others I get:

~/NVIDIA_CUDA_SDK/projects/scan # gmake

Signal: Segmentation fault in Global Optimization – Compute alias classification phase.

Error: Signal Segmentation fault in phase Global

for deviceQuery I get:

~/NVIDIA_CUDA_SDK/projects/deviceQuery # gmake

ptxas /tmp/tmpxft_0000065e_00000000-6.ptx, line 38; fatal : Parsing error near ‘[’: syntax error

gmake: *** [obj/release/deviceQuery.cu_o] Error 255

This is with both 4.1.2, and 4.1.0 set as the compiler under Opensuse 10.3. I also tried the 1.0 and 1.1 versions of cuda.

After installing gcc 4.1.2 and 4.1.0 in /usr/local/gcc-4.1.x, I created the symbolic links in cuda/bin and the nvcc command in common.mk as:

NVCC := nvcc --compiler-bindir=/usr/local/cuda/bin

here is the offending file /tmp/tmpxft_0000065e_00000000-6.ptx

       .target compute_10, map_f64_to_f32

        //  compiled with /usr/local/cuda/open64/lib//be

       //-----------------------------------------------------------

        // Compiling /tmp/tmpxft_00006669_00000000-1.i (/tmp/ccI#.P4HeNT)

        //-----------------------------------------------------------

       //-----------------------------------------------------------

        // Options:

        //-----------------------------------------------------------

        //  Target:ptx, ISA:compute_10, Endian:little, Pointer Size:64

        //  -O2 (Optimization level)

        //  -g0 (Debug level)

        //  -m2 (Report advisories)

        //-----------------------------------------------------------

       .file   1       "/tmp/tmpxft_00006669_00000000-5.gpu"

        .file   2       "/usr/local/gcc-4.1.0/lib/gcc/x86_64-unknown-linux-gnu/4.1.0/include/stddef.h"

        .file   3       "/usr/local/cuda/bin/../include/crt/device_runtime.h"

        .file   4       "/usr/local/cuda/bin/../include/host_defines.h"

        .file   5       "/usr/local/cuda/bin/../include/crt/storage_class.h"

        .file   6       "/usr/local/cuda/bin/../include/builtin_types.h"

        .file   7       "/usr/local/cuda/bin/../include/device_types.h"

        .file   8       "/usr/local/cuda/bin/../include/driver_types.h"

        .file   9       "/usr/local/cuda/bin/../include/texture_types.h"

        .file   10      "/usr/local/cuda/bin/../include/vector_types.h"

        .file   11      "/usr/local/cuda/bin/../include/device_launch_parameters.h"

        .file   12      "/usr/local/cuda/bin/../include/common_functions.h"

        .file   13      "/usr/local/cuda/bin/../include/crt/func_macro.h"

        .file   14      "/usr/local/cuda/bin/../include/math_functions.h"

        .file   15      "/usr/local/cuda/bin/../include/device_functions.h"

        .file   16      "/usr/local/cuda/bin/../include/math_constants.h"

        .file   17      "/usr/local/cuda/bin/../include/sm_11_atomic_functions.h"

        .file   18      "/usr/local/cuda/bin/../include/texture_fetch_functions.h"

        .file   19      "/usr/local/cuda/bin/../include/math_functions_dbl_ptx1.h"

       .const .align 4 .b8 [128] = {0,0,128,63,135,205,130,63,195,170,133,63,15,152,136,63,194,149,139,63,58,164,142,63,211,195,145,63,240,244,148,63,240,55,152,63,58,141,155,63,50,245,158,63,67,112,162,63,215,254,165,63,91,161,169,63,63,88,173,63,246,35,177,63,243,4,181,63,175,251,184,63,164,8,189,63,77,44,193,63,42,103,197,63,190,185,201,63,140,36,206,63,30,168,210,63,253,68,215,63,184,251,219,63,223,204,224,63,7,185,229,63,199,192,234,63,186,228,239,63,125,37,245,63,179,131,250,63};

        .const .align 4 .b8 [128] = {0,0,0,0,169,167,78,179,145,152,79,51,75,218,126,179,161,171,96,178,101,116,105,179,36,86,103,51,18,2,46,179,113,27,35,51,99,85,12,179,66,35,65,51,90,18,195,48,94,157,44,179,8,43,22,179,246,234,45,178,168,90,124,179,122,231,207,50,247,197,14,51,232,79,65,179,62,102,214,178,55,168,10,50,162,35,115,179,36,252,40,50,170,29,92,179,138,165,212,178,28,74,80,179,89,171,30,178,230,27,68,178,222,22,65,178,74,70,72,179,54,36,41,50,88,55,146,178};

Please help!

So after struggling for awhile I decided to install opensuse 10.3 32 bit and everything works fine as stated with the 4.1 gcc/g++ compilier.

So it appears the problems I saw were with 64bit Opensuse 10.3. I think I even went as far as installing 32 bit CUDA on 64 bit OpenSUSE 10.3 and still had the same problems.

SUSE-10.3 should be qualified for the next CUDA release. I’m afraid that it was released too late in the CUDA development cycle to be qualified for CUDA_1.1.

Do you have a ball park date for the next release?

I installed CUDA 1.1 on OpenSUSE 10.3 yesterday. I had to change cc and gcc to point to gcc-4.1 in /usr/bin. Everything works fine, all tests passed.

Well I kinda lied…everything compiled fine but it would appear that libcuda didnt get installed with the 32bit NVIDIA opensuse YAST thinger so now I cant run.

I will try the self install tonight.

did the selfinstall nvidia package and now cuda works and runs just fine. Now I just have to figure out how to get more than 640x480 on my desktop

I’m using CUDA with opensuse 10.3 x86_64. The installation went fine, but I have to use a previous version of gcc to compile the code properly. I wasn’t sure how to compile the example projects properly using my alternate version of gcc, but when I manually compile my own code by specifying which compiler to use, it’s all fine.

to get the .o file :
nvcc -c mycudacalls.cu --library-path $LD_LIBRARY_PATH --compiler-bindir ~/mygcc-4.1.0/bin --compiler-options -fPIC

and then I link with Matlab’s mex compiler (that uses ~/mygcc-4.1.0/bin/g++) to have neat Matlab function

mex -c matlab_caller.c
mex matlab_caller.o mycudacalls.o /usr/local/cuda/lib/libcudart.so -o cudademo

So yes, it works with opensuse 10.3 x86_64 but you need to make sure that you’re using a previous version of gcc.

this is what I get when I symlink to gcc-4.1

hope it means something to you guys… sure doesn’t to me

make[1]: Entering directory /home/moulik/NVIDIA_CUDA_SDK/common' a - obj/release/bank_checker.cpp_o a - obj/release/cmd_arg_reader.cpp_o a - obj/release/cutil.cpp_o a - obj/release/stopwatch.cpp_o a - obj/release/stopwatch_linux.cpp_o a - obj/release/multithreading.cpp_o make[1]: Leaving directory /home/moulik/NVIDIA_CUDA_SDK/common’
make[1]: Entering directory /home/moulik/NVIDIA_CUDA_SDK/common' src/param.cpp:3: warning: deprecated conversion from string constant to ‘char*’ a - obj/release/paramgl.cpp_o a - obj/release/param.cpp_o make[1]: Leaving directory /home/moulik/NVIDIA_CUDA_SDK/common’
make -C projects/histogram256/
make[1]: Entering directory /home/moulik/NVIDIA_CUDA_SDK/projects/histogram256' Signal: Segmentation fault in Global Optimization -- Compute alias classification phase. Error: Signal Segmentation fault in phase Global Optimization -- Compute alias classification -- processing aborted *** Internal stack backtrace: /usr/local/cuda/open64/lib//be [0x687d8e] /usr/local/cuda/open64/lib//be [0x689152] /usr/local/cuda/open64/lib//be [0x6889ec] /usr/local/cuda/open64/lib//be [0x688b51] /usr/local/cuda/open64/lib//be [0x6897fe] /lib64/libc.so.6 [0x2b25abb6fbd0] /usr/local/cuda/open64/lib//be [0x47a14d] /usr/local/cuda/open64/lib//be [0x47c5fc] /usr/local/cuda/open64/lib//be [0x47cd7b] /usr/local/cuda/open64/lib//be [0x47d61b] /usr/local/cuda/open64/lib//be [0x47d8d8] /usr/local/cuda/open64/lib//be [0x47d84c] /usr/local/cuda/open64/lib//be [0x47d9bf] /usr/local/cuda/open64/lib//be [0x47d84c] /usr/local/cuda/open64/lib//be [0x47d9bf] /usr/local/cuda/open64/lib//be [0x47db84] /usr/local/cuda/open64/lib//be [0x42fd61] /usr/local/cuda/open64/lib//be [0x477c6f] /usr/local/cuda/open64/lib//be [0x419397] /usr/local/cuda/open64/lib//be [0x419e90] /usr/local/cuda/open64/lib//be [0x41b0c2] /lib64/libc.so.6(__libc_start_main+0xf4) [0x2b25abb5cb54] /usr/local/cuda/open64/lib//be [0x417549] nvopencc INTERNAL ERROR: /usr/local/cuda/open64/lib//be died due to signal 4 make[1]: *** [obj/release/histogram256.cu_o] Error 255 make[1]: Leaving directory /home/moulik/NVIDIA_CUDA_SDK/projects/histogram256’
make: *** [projects/histogram256/Makefile.ph_build] Error 2

Yes, I just installed gcc-4.1.2 (which can coexist with gcc-4.2.1) and manually modified /usr/bin/gcc to point to gcc-4.1 instead of gcc-4.2.

Kind regards,

Markus

I got the same problem after I created a symbolic link to gcc-4.1.2.

Do anyone has any idea?

The next version of CUDA with OpenSuse 10.3 should allow OpenMP to be used for multigpu thread work.

This error:
Parsing error near ‘[’: syntax error

is a known incompatibility between OpenSUSE-10.3 and CUDA-1.1, which will be resolved in the next CUDA release (once OpenSUSE-10.3 is officially supported with CUDA). As I noted earlier, OpenSUSE-10.3 was never qualified for use with CUDA, so I’m afraid that there are no guarantees on whether it works with CUDA right now.

byung, skyman, fawlty and gyom,

  As part of closure of another thread, would one (or all) of you mind running the bandwidth project from the SDK and report the host->device and device->host numbers?  I am seeing a large disparity between numbers I get when I run the bandwidth test on a Windows XP machine and a machine with OpenSuse.  This would be a great help to me in narrowing down between motherboard hardware (chipset, etc.) and software issues involved.

 Thanks very much in advance for your help.

Another request to byung, skyman, fawlty and gyom. Could you run the bandwidth test (in the SDK) on OpenSuse 10.3 and post the results? This would be very helpful in my troubleshooting of slow Linux host<->device transfers as compared to Windows XP. Thank you.

One more try…

As I’ve explained in another thread [snapback]358744[/snapback], it’s possible to make the GCC-4.2 based openSUSE 10.3 work with CUDA.

There are two files to patch to get GCC-4.2 working :[list=1]

C++CONFIG.H[list=A]

This files uses attribute (the modern day equivalent to #pragma) and for some reason, the compiler bundled in CUDA doesn’t degrade gracefully when it encounters unkown attributes as it should, even if it itself uses attributes for its own functions.

Make a copy of this file. In SuSE 10.3, the original is located in /usr/include/c++/4.2.1/i586-suse-linux/bits/c++config.h

Replace the “_VISIBILITY” macros from the copy so they they are empty (two declarations in the file).

add a line in “cuda_runtime.h” so it includes your patched copy of the file.

atomicity.h[list=A]

This files uses GCC-4.2 specific extension for atomic operation (on the CPU. Nothing to do with CUDA’s atomic operations).

Make a copy of the file. The original should be located in /usr/include/c++/4.2.1/ext/atomicity.h

Remove the “#if” to force the code path that doesn’t use the atomic built-in.

add a line in “cuda_runtime.h” so it includes your patched copy of the file.

When compiling CUDA code, use “-D_GLIBCXX_GCC_GTHR_POSIX_H” to prevent GCC to load the gthreadw include and use the non-patched original “atomicity.h” preload the file.

Using that modification, I’m able to use CUDA on my gcc-4.2 based openSuSE 10.3 both on 32 and 64 bits machines, whithout major problems.

That will do the trick while waiting for CUDA 2.0 …

DrYak-

This sounds great. I am new to CUDA and this patch for gcc 4.2 is of interest to me. Can you provide more specific examples of the changes you made to the header files, please? Thank you.