Closed simple86 closed 2 years ago
I disabled uint64_t values as a hot fix for now, as this seems to be causing a problem here. I honestly have no clue why this does not compile on linux - the code seems correct at first sight. In case you actually want to use uint64_t values, please let me know and I take a look at it. But I guess that most people use it for float/double value multiplications.
Please let me know if compilation works now.
Thanks for your reply!
I tried just now, but there are still errors from the convert
function.
spECK/source/dCSR.cpp:111:15: error: template-id ‘convert<>’ for ‘void convert(dCSR<long unsigned int>&, const CSR<double>&, unsigned int)’ does not match any template declaration
template void convert(dCSR<uint64_t>& dcsr, const CSR<double>& csr, unsigned int);
spECK/source/dCSR.cpp:115:15: error: template-id ‘convert<>’ for ‘void convert(CSR<long unsigned int>&, const dCSR<double>&, unsigned int)’ does not match any template declaration
template void convert(CSR<uint64_t>& csr, const dCSR<double>& dcsr, unsigned int padding);
spECK/source/dCSR.cpp:119:15: error: template-id ‘convert<>’ for ‘void convert(dCSR<long unsigned int>&, const dCSR<double>&, unsigned int)’ does not match any template declaration
template void convert(dCSR<uint64_t>& dcsr, const dCSR<double>& csr, unsigned int);
spECK/source/dCSR.cpp:123:15: error: template-id ‘convert<>’ for ‘void convert(CSR<long unsigned int>&, const CSR<double>&, unsigned int)’ does not match any template declaration
template void convert(CSR<uint64_t>& csr, const CSR<double>& dcsr, unsigned int padding);
I am really surprised that this did not trigger an error on my system. But I think it is solved now. Please let me know.
I commented the four lines of convert
function, and it works well now. Thanks a lot!
Experimental setup:
I've set COMPUTE_CAPABILITY="CC70" in
linuxsetup.sh
, set option(CUDA_BUILD_CC70 "Build with compute capability 7.0 support" TRUE) inCMakeLists.txt
, set spECK_DYNAMIC_MEM_PER_BLOCK = 98304 ininclude/MUltiply.h
. However, error occurs while building.So, what seems to be the problem?