I'm trying to get the example up and running on a Fedora Core 20 machine with Intel compilers (mkl 11.2) and CUDA 6.5, but I'm having some trouble with linking. This is what I'm running to compile and link:
The .o files compile without error, but the executable won't build. I get the following errors:icc -DADD_ -openmp -I/usr/local/magma/include -I/usr/local/cuda-6.5/include -I/opt/intel/composer_xe_2015.0.090/mkl/include -Wall -c -o example.o example.c
icc -DADD_ -openmp -I/usr/local/magma/include -I/usr/local/cuda-6.5/include -I/opt/intel/composer_xe_2015.0.090/mkl/include -Wall -c -o zfill.o zfill.c
icc -DADD_ -openmp -L/usr/local/magma/lib -L/opt/intel/composer_xe_2015.0.090/mkl/lib/intel64 -L/usr/local/cuda-6.5/lib64 -lmagma -lmkl_intel_lp64 -lmkl_intel_thread -lmkl_core -lpthread -lcublas -lcudart -lstdc++ -lm -Wall -o example example.o zfill.o
Everything in the 'testing' folder builds and runs properly. What am I missing here?icc: warning #10315: specifying -lm before files may supersede the Intel(R) math library and affect performance
example.o: In function `main':
example.c:(.text+0x39): undefined reference to `magma_init'
example.c:(.text+0x65): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x74): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x83): undefined reference to `magma_malloc_cpu'
example.c:(.text+0xfa): undefined reference to `magma_zgesv'
example.c:(.text+0x125): undefined reference to `magma_free_cpu'
example.c:(.text+0x12f): undefined reference to `magma_free_cpu'
example.c:(.text+0x139): undefined reference to `magma_free_cpu'
example.c:(.text+0x164): undefined reference to `magma_malloc'
example.c:(.text+0x173): undefined reference to `magma_malloc'
example.c:(.text+0x182): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x201): undefined reference to `magma_zgesv_gpu'
example.c:(.text+0x23c): undefined reference to `magma_free_internal'
example.c:(.text+0x255): undefined reference to `magma_free_internal'
example.c:(.text+0x25f): undefined reference to `magma_free_cpu'
example.c:(.text+0x264): undefined reference to `magma_finalize'
example.o: In function `cpu_interface':
example.c:(.text+0x2e7): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x2ff): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x310): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x37d): undefined reference to `magma_zgesv'
example.c:(.text+0x3a8): undefined reference to `magma_free_cpu'
example.c:(.text+0x3b2): undefined reference to `magma_free_cpu'
example.c:(.text+0x3bc): undefined reference to `magma_free_cpu'
example.o: In function `gpu_interface':
example.c:(.text+0x428): undefined reference to `magma_malloc'
example.c:(.text+0x43f): undefined reference to `magma_malloc'
example.c:(.text+0x450): undefined reference to `magma_malloc_cpu'
example.c:(.text+0x4b9): undefined reference to `magma_zgesv_gpu'
example.c:(.text+0x4f3): undefined reference to `magma_free_internal'
example.c:(.text+0x50c): undefined reference to `magma_free_internal'
example.c:(.text+0x516): undefined reference to `magma_free_cpu'
zfill.o: In function `zfill_matrix_gpu':
zfill.c:(.text+0x217): undefined reference to `magma_malloc_cpu'
zfill.c:(.text+0x310): undefined reference to `magma_zsetmatrix_internal'
zfill.c:(.text+0x31e): undefined reference to `magma_free_cpu'
zfill.o: In function `zfill_rhs_gpu':
zfill.c:(.text+0x3a7): undefined reference to `magma_malloc_cpu'
zfill.c:(.text+0x4a0): undefined reference to `magma_zsetmatrix_internal'
zfill.c:(.text+0x4ae): undefined reference to `magma_free_cpu'