clMathLibraries / clBLAS

a software library containing BLAS functions written in OpenCL
Apache License 2.0
839 stars 240 forks source link

Compilation Problem - clBLAS 2.8 @ Ubuntu 15.10, OpenCL 2.0, Radeon 290, AMD SDK 3.0 #206

Open mpekalski opened 8 years ago

mpekalski commented 8 years ago

Attachment: CMakeCache.txt

I am trying to compile clBlas 2.8 (cloned from git on 2015-12-20) on Ubuntu 15.10 with Radeon R9 290, acml 6.1.0.31, boost 1.60 AMD APP SDK 3.0.

After a bit of issues with having it finding acml (6.1.0.31) files I managed to run cmake without any errors:

cmake ../src -DOPENCL_INCLUDE_DIRS:PATH=/opt/AMDAPPSDK-3.0/include -DACML_INCLUDE_DIRS:PATH=/opt/acml6.1.0.31/gfortran64_mp/include -DACML_LIBRARIES:FILEPATH=/usr/local/lib64/libacml_mp.so -DOPENCL_VERSION:STRING=2.0 -DBOOST_ROOT=/opt/boost_1_60_0 -DBOOST_INCLUDEDIR=/opt/boost_1_60_0/include/boost -DBOOST_LIBRARYDIR=/opt/boost_1_60_0/lib -DOPENCL_OFFLINE_BUILD_HAWAII_KERNEL=ON -Wno-dev

Then when running make (even with sudo) I get

marcin@thesun:~/Downloads/tst/clBLAS/build$ sudo make [ 1%] Built target tplgen TPLGEN Running..... ... Processing /home/marcin/Downloads/tst/clBLAS/src/library/blas/gens/clTemplates/asum.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/asum.clT Processing /home/marcin/Downloads/tst/clBLAS/src/library/blas/gens/clTemplates/custom_gemm.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/custom_gemm.clT WARNING: couldn't open input file /home/marcin/Downloads/tst/clBLAS/src/library/blas/gens/clTemplates/custom_gemm.cl Processing /home/marcin/Downloads/tst/clBLAS/src/library/blas/gens/clTemplates/dgemm_hawai.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_hawai.clT ... a lot of stuff without warnings .... TPLGEN Running..... Processing /dgemm_hawai.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_hawai.clHawaii_64.bin.clT WARNING: couldn't open input file /dgemm_hawai.clHawaii_64.bin.cl Processing /dtrsm_gpu.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dtrsm_gpu.clHawaii_64.bin.clT WARNING: couldn't open input file /dtrsm_gpu.clHawaii_64.bin.cl Processing /dtrsm_gpu192.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dtrsm_gpu192.clHawaii_64.bin.clT WARNING: couldn't open input file /dtrsm_gpu192.clHawaii_64.bin.cl Processing /dgemm_hawaiiChannelConfilct.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_hawaiiChannelConfilct.clT WARNING: couldn't open input file /dgemm_hawaiiChannelConfilct.cl Processing /Hawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/Hawaii_64.bin.clT WARNING: couldn't open input file /Hawaii_64.bin.cl Processing /dgemm_hawaiiSplitKernel.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_hawaiiSplitKernel.clHawaii_64.bin.clT WARNING: couldn't open input file /dgemm_hawaiiSplitKernel.clHawaii_64.bin.cl Processing /sgemm_hawaiiSplitKernel.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_hawaiiSplitKernel.clHawaii_64.bin.clT WARNING: couldn't open input file /sgemm_hawaiiSplitKernel.clHawaii_64.bin.cl Processing /sgemm_hawaiiSplitKernel.clBonaire_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_hawaiiSplitKernel.clBonaire_64.bin.clT WARNING: couldn't open input file /sgemm_hawaiiSplitKernel.clBonaire_64.bin.cl Processing /dgemm_hawai.clTahiti_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_hawai.clTahiti_64.bin.clT WARNING: couldn't open input file /dgemm_hawai.clTahiti_64.bin.cl Processing /dtrsm_gpu.clTahiti_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dtrsm_gpu.clTahiti_64.bin.clT WARNING: couldn't open input file /dtrsm_gpu.clTahiti_64.bin.cl Processing /dgemm_gcn_SmallMatrices.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_gcn_SmallMatrices.clHawaii_64.bin.clT WARNING: couldn't open input file /dgemm_gcn_SmallMatrices.clHawaii_64.bin.cl Processing /dgemm_gcn_SmallMatrices.clTahiti_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/dgemm_gcn_SmallMatrices.clTahiti_64.bin.clT WARNING: couldn't open input file /dgemm_gcn_SmallMatrices.clTahiti_64.bin.cl Processing /sgemm_gcn_SmallMatrices.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn_SmallMatrices.clHawaii_64.bin.clT WARNING: couldn't open input file /sgemm_gcn_SmallMatrices.clHawaii_64.bin.cl Processing /sgemm_gcn_SmallMatrices.clTahiti_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn_SmallMatrices.clTahiti_64.bin.clT WARNING: couldn't open input file /sgemm_gcn_SmallMatrices.clTahiti_64.bin.cl Processing /sgemm_gcn_SmallMatrices.clBonaire_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn_SmallMatrices.clBonaire_64.bin.clT WARNING: couldn't open input file /sgemm_gcn_SmallMatrices.clBonaire_64.bin.cl Processing /sgemm_gcn_bigMatrices.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn_bigMatrices.clHawaii_64.bin.clT WARNING: couldn't open input file /sgemm_gcn_bigMatrices.clHawaii_64.bin.cl Processing /sgemm_gcn_bigMatrices.clTahiti_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn_bigMatrices.clTahiti_64.bin.clT WARNING: couldn't open input file /sgemm_gcn_bigMatrices.clTahiti_64.bin.cl Processing /sgemm_gcn_bigMatrices.clBonaire_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn_bigMatrices.clBonaire_64.bin.clT WARNING: couldn't open input file /sgemm_gcn_bigMatrices.clBonaire_64.bin.cl Processing /sgemm_gcn.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn.clHawaii_64.bin.clT WARNING: couldn't open input file /sgemm_gcn.clHawaii_64.bin.cl Processing /zgemm_gcn.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/zgemm_gcn.clHawaii_64.bin.clT WARNING: couldn't open input file /zgemm_gcn.clHawaii_64.bin.cl Processing /sgemm_gcn.clBonaire_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn.clBonaire_64.bin.clT WARNING: couldn't open input file /sgemm_gcn.clBonaire_64.bin.cl Processing /sgemm_gcn.clTahiti_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_gcn.clTahiti_64.bin.clT WARNING: couldn't open input file /sgemm_gcn.clTahiti_64.bin.cl Processing /sgemm_hawaiiSplit64_32.clHawaii_64.bin.cl output file /home/marcin/Downloads/tst/clBLAS/build/include/sgemm_hawaiiSplit64_32.clHawaii_64.bin.clT WARNING: couldn't open input file /sgemm_hawaiiSplit64_32.clHawaii_64.bin.cl [ 1%] Built target GENERATE_CLT

and that is for all files listed in 546 to 569 in https://github.com/clMathLibraries/clBLAS/blob/27ab572d6c4ce2fc1d8f99e8a4c5cf87690dfdac/src/library/CMakeLists.txt see below:

set(SRC_CL_TEMPLATES_GEN dgemm_hawai.clHawaii_64.bin.cl dtrsm_gpu.clHawaii_64.bin.cl dtrsm_gpu192.clHawaii_64.bin.cl dgemm_hawaiiChannelConfilct.clHawaii_64.bin.cl dgemm_hawaiiSplitKernel.clHawaii_64.bin.cl sgemm_hawaiiSplitKernel.clHawaii_64.bin.cl
sgemm_hawaiiSplitKernel.clBonaire_64.bin.cl dgemm_hawai.clTahiti_64.bin.cl dtrsm_gpu.clTahiti_64.bin.cl dgemm_gcn_SmallMatrices.clHawaii_64.bin.cl dgemm_gcn_SmallMatrices.clTahiti_64.bin.cl sgemm_gcn_SmallMatrices.clHawaii_64.bin.cl sgemm_gcn_SmallMatrices.clTahiti_64.bin.cl sgemm_gcn_SmallMatrices.clBonaire_64.bin.cl sgemm_gcn_bigMatrices.clHawaii_64.bin.cl sgemm_gcn_bigMatrices.clTahiti_64.bin.cl sgemm_gcn_bigMatrices.clBonaire_64.bin.cl sgemm_gcn.clHawaii_64.bin.cl zgemm_gcn.clHawaii_64.bin.cl sgemm_gcn.clBonaire_64.bin.cl sgemm_gcn.clTahiti_64.bin.cl sgemm_hawaiiSplit64_32.clHawaii_64.bin.cl )

I have no idea about CMake syntax, so I wonder if there should be no space between those? Or do they get split auto-magically? :)

Then I get loads of warnings like

warning: anonymous variadic macros were introduced in C++11 [-Wvariadic-macros] warning: embedding a directive within macro arguments is not portable warning: extra tokens at end of #endif directive [-Wendif-labels] warning: ignoring #pragma unroll [-Wunknown-pragmas] warning: "NB" redefined warning: multi-line comment [-Wcomment] warning: "BLOCK_SIZE" redefined warning: defined but not used [-Wunused-function] warning: enumeration value ‘TYPE_UNSIGNED_INT’ not handled in switch [-Wswitch] warning: unused parameter ‘eventWaitList’ [-Wunused-parameter] warning: comparison between signed and unsigned integer expressions [-Wsign-compare] warning: narrowing conversion of ‘vecLen’ from ‘unsigned int’ to ‘int’ inside { } is ill-formed in C++11 [-Wnarrowing]

and so on ... looks

My relevant Env Vars::

CC=gcc CXX=g++ LD_LIBRARY_PATH=/opt/boost_1_60_0/lib:/opt/acml6.1.0.31/gfortran64_mp/lib:/usr/local/lib64:/opt/boost_1_60_0/lib:/usr/local/lib64:/opt/AMDAPPSDK-3.0/lib/x86_64/:/usr/lib32 AMDAPPSDK_ROOT=/opt/AMDAPPSDK-3.0 ACML_ROOT="/opt/aclm6.1.0.31" ACML_INCLUDE_DIRS="/opt/acml6.1.0.31/gfortran64_mp/include" ACML_LIBRARIES="/opt/acml6.1.0.31/gfortran64_mp/lib"

Is it safe to ignore all those warnings? What can be the reason for all those warnings?

EDIT #1:

EDIT #2:

Thanks, Marcin

TimmyLiu commented 8 years ago

Hi,

You can ignore those warnings for now. For testing you should use ACML 5.3 or before (not ACML 6 since it actually will try to dynamically load clBLAS.) or netlib's libblas.so (recommended.) Just uncheck USE_ACML from cmake.