It basically sounds to me like you are using an old CMake/OpenCV setup and attempting to use a recent version of CUDA with it. There is no “correct name and location” for it in CUDA 10 or CUDA 10.1 or CUDA 10.2 it does not exist. This was also covered in release notes and also various questions on these forums about it. The cublas device library was deprecated some time ago and has not been available since CUDA 10. Not sure why it should matter anyway, if your question is about library search paths.Īlso, do you know the correct name and location for “CUDA_cublas_device_LIBRARY” ? Really no guarantees that this couldn’t/wouldn’t change in the future. I really don’t know much about building OpenCV from scratch, but I imagine it may only need the libcublas library, because the libcublasLt library is “relatively new”. With respect to what is the “correct one” that depends on what you are doing. If you study the cublas documentation you’ll figure out what the Lt library is for. I presume that the correct one is the former? (not the Lt version) There are several libs in the /usr/lib/x86_64-linux-gnu folder, including “libcublas.so.10.2.1.243” and “libcublasLt.so.10.2.1.243”. it might be updated already (I’ll bet it is.) This change to CUDA has been public for close to a year. You don’t indicate which version of CMake you are using. It appears to have found all the other CUDA-related libraries except for CuBlas. To explicitly select a vendor for a BLAS implementation since then, one was supposed to use `BLA_VENDOR` instead.Cmake apparently needs to be updated then too. Thus causing a manually set `BLAS_LIBRARIES` variable to have no effect on the functions operation.Īccording to the CMake documentation the `BLAS_LIBRARIES` variable was not meant to be an input variable for `findBLAS` at least since CMake >= 3.11. But it turns out a change in CMake now allows to define functions, not just macros, which is the case for a change in the `findBLAS` function.ĬMake macros are operating in global spoce, so setting `BLAS_LIBRARIES` at some point before calling `findBLAS` will take some influence on the macro.įunctions in CMake are operating within their own isolated scope, so there are no clashes between them and the global scope of the CMake build files. > thanks for the fix the odd thing is that setting BLAS_LIBRARIES (In reply to Susi Lehtola from comment #6) This is likely not a bug in CMake, but in the spec file of the affected packages. The builds on Rawhide were both successful. I've fixed the spec file of both packages to properly set `BLA_VENDOR` to `FlexiBLAS` for `cmake >= 3.19`, so the desired BLAS vendor is forced during auto-detection. > Thus, setting BLAS_LIBRARIES shouldn't be required anymore.Īccording to the referenced documentation `BLAS_LIBRARIES` is *NOT* a valid input variable for the `FindBLAS.cmake` module. > On the other hand, cmake supports FlexiBLAS detection since v3.19, as you > With BLAS_LIBRARIES set, cmake should not look for sgemm. > Could NOT find BLAS (missing: BLAS_LIBRARIES) > /usr/share/cmake/Modules/FindPackageHandleStandardArgs.cmake:230 (message): > -DBLAS_LIBRARIES=/usr/lib64/libflexiblas.so The FindBLAS and FindLAPACK modules learned to support the serial Fujitsu_SSL2 and parallel Fujitsu_SSL2BLAMP libraries.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |