Unable to make the CUDA Sample after installing the CUDA toolkit

Posted on

I have the GEFORCE GTX 1050 GPU to use i installed the nvidia driver using RHEL/CentOS 7.3 Bumblebee setup procedure from " http://ezequielm.com/blog/rhelcentos-7-3-bumblebee-setup/" . The nvidia driver is installed according to the above blog i checked using "optirun nvidia-settings -c :8.0" command and got the Nvidia X server settings and when i used this "dmesg | grep bbswitch" also i got the following output.
21.900440] bbswitch: version 0.8
[ 21.900451] bbswitch: Found integrated VGA device 0000:00:02.0: _SB_.PCI0.GFX0
[ 21.900459] bbswitch: Found discrete VGA device 0000:01:00.0: _SB_.PCI0.PEG0.PEGP
[ 21.900618] bbswitch: detected an Optimus _DSM function
[ 21.900630] bbswitch: device 0000:01:00.0 is in use by driver 'nvidia', refusing OFF
[ 21.900634] bbswitch: Succesfully loaded. Discrete card 0000:01:00.0 is on

i think the driver is working. Next i try to install the CUDA toolkit and i try to validate the successful installation of the toolkit using "nvcc -V" command and i got
vcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2017 NVIDIA Corporation
Built on Fri_Sep__1_21:08:03_CDT_2017
Cuda compilation tools, release 9.0, V9.0.176

Next i try to run the make command to run the CUDA sample before running the command "./deviceQuery" but i face an error as follows:

[root@localhost ~]# cd NVIDIA_CUDA-9.0_Samples
[root@localhost NVIDIA_CUDA-9.0_Samples]# make
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleOccupancy'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleOccupancy'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMultiCopy'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMultiCopy'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMul'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMul'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleCallback'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleCallback'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd_nvrtc'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd_nvrtc'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/template'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/template'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleCubemapTexture'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleCubemapTexture'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/cppOverload'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/cppOverload'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/cudaTensorCoreGemm'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/cudaTensorCoreGemm'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/systemWideAtomics'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/systemWideAtomics'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleIPC'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleIPC'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleVoteIntrinsics'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleVoteIntrinsics'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleSeparateCompilation'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleSeparateCompilation'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTexture'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTexture'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/UnifiedMemoryStreams'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/UnifiedMemoryStreams'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/cudaOpenMP'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/cudaOpenMP'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleSurfaceWrite'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleSurfaceWrite'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/cppIntegration'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/cppIntegration'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/inlinePTX_nvrtc'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/inlinePTX_nvrtc'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/clock_nvrtc'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/clock_nvrtc'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/fp16ScalarProduct'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/fp16ScalarProduct'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTemplates'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTemplates'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMulCUBLAS'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMulCUBLAS'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAddDrv'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAddDrv'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMulDrv'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMulDrv'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAssert_nvrtc'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAssert_nvrtc'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/cdpSimpleQuicksort'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/cdpSimpleQuicksort'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleStreams'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleStreams'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simplePrintf'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simplePrintf'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleLayeredTexture'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleLayeredTexture'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/clock'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/clock'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleVoteIntrinsics_nvrtc'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleVoteIntrinsics_nvrtc'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleCooperativeGroups'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleCooperativeGroups'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleZeroCopy'
make[1]: Nothing to be done for `all'.

make[1]: Leaving directory `/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleZeroCopy'

WARNING - No MPI compiler found.

CUDA Sample "simpleMPI" cannot be built without an MPI Compiler.
This will be a dry-run of the Makefile.
For more information on how to set up your environment to build and run this

sample, please refer the CUDA Samples documentation and release notes

make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMPI'
[@] mpicxx -I../../common/inc -o simpleMPI_mpi.o -c simpleMPI.cpp
[@] /usr/local/cuda-9.0/bin/nvcc -ccbin g++ -I../../common/inc -m64 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_70,code=compute_70 -o simpleMPI.o -c simpleMPI.cu
[@] mpicxx -o simpleMPI simpleMPI_mpi.o simpleMPI.o -L/usr/local/cuda-9.0/lib64 -lcudart
[@] mkdir -p ../../bin/x86_64/linux/release
[@] cp simpleMPI ../../bin/x86_64/linux/release
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMPI'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/cdpSimplePrint'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/cdpSimplePrint'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTextureDrv'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTextureDrv'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/vectorAdd'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAtomicIntrinsics_nvrtc'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAtomicIntrinsics_nvrtc'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAtomicIntrinsics'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAtomicIntrinsics'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/inlinePTX'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/inlinePTX'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simplePitchLinearTexture'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simplePitchLinearTexture'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMultiGPU'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleMultiGPU'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTemplates_nvrtc'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleTemplates_nvrtc'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleP2P'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleP2P'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/asyncAPI'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/asyncAPI'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMul_nvrtc'
cp ""/usr/local/cuda-9.0"/include/cooperative_groups.h" .
cp ""/usr/local/cuda-9.0"/include/cooperative_groups_helpers.h" .
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/0_Simple/matrixMul_nvrtc'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAssert'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/0_Simple/simpleAssert'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQueryDrv'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQueryDrv'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/1_Utilities/deviceQuery'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/1_Utilities/p2pBandwidthLatencyTest'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/1_Utilities/p2pBandwidthLatencyTest'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/1_Utilities/topologyQuery'
make[1]: Nothing to be done for all'.
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/1_Utilities/topologyQuery'
make[1]: Entering directory /root/NVIDIA_CUDA-9.0_Samples/1_Utilities/bandwidthTest'
make[1]: Nothing to be done for
all'.
make[1]: Leaving directory /root/NVIDIA_CUDA-9.0_Samples/1_Utilities/bandwidthTest'
make[1]: Entering directory
/root/NVIDIA_CUDA-9.0_Samples/2_Graphics/Mandelbrot'
"/usr/local/cuda-9.0"/bin/nvcc -ccbin g++ -m64 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_70,code=sm_70 -gencode arch=compute_70,code=compute_70 -o Mandelbrot Mandelbrot.o Mandelbrot_cuda.o Mandelbrot_gold.o -L/usr/lib64/nvidia -lGL -lGLU -lX11 -lglut
/usr/bin/ld: warning: libGLX.so.0, needed by /usr/lib64/nvidia/libGL.so, not found (try using -rpath or -rpath-link)
/usr/bin/ld: warning: libGLdispatch.so.0, needed by /usr/lib64/nvidia/libGL.so, not found (try using -rpath or -rpath-link)
/usr/lib64/nvidia/libGL.so: undefined reference to __glDispatchRegisterStubCallbacks'
/usr/lib64/nvidia/libGL.so: undefined reference to
__glXGLLoadGLXFunction'
/usr/lib64/nvidia/libGL.so: undefined reference to _glapi_Current'
/usr/lib64/nvidia/libGL.so: undefined reference to
__glDispatchFini'
/usr/lib64/nvidia/libGL.so: undefined reference to _glapi_get_current'
/usr/lib64/nvidia/libGL.so: undefined reference to
__glDispatchUnregisterStubCallbacks'
/usr/lib64/nvidia/libGL.so: undefined reference to __glDispatchInit'
collect2: error: ld returned 1 exit status
make[1]: *** [Mandelbrot] Error 1
make[1]: Leaving directory
/root/NVIDIA_CUDA-9.0_Samples/2_Graphics/Mandelbrot'
make: *** [2_Graphics/Mandelbrot/Makefile.ph_build] Error 2
[root@localhost NVIDIA_CUDA-9.0_Samples]#

What is the error the happed? and how to fix the error?

Close

Welcome! Check out the Getting Started with Red Hat page for quick tours and guides for common tasks.