chrono
chrono copied to clipboard
cuda 12.5
I saw during configuration that chrono does not support cuda 12.5 yet. Is that a hard constraint, or should I modify the cmakefile and try it?
Unfortunately, it's not as simple as modifying the CMakeLists file.
There are several issues with using CUDA 12.5 in Chrono:
- the latest version of Thrust (2.4.0) included with the CUDA 12.5 toolkit does not allow thrust/ headers in host-only TUs when THRUST_DEVICE_SYSTEM=CUDA and only allows thrust/ headers in host-only TUs when THRUST_DEVICE_SYSTEM={CPP, OMP, TBB}. This will require a refactoring of the internal multicore collision detection algorithms and of the Chrono::Multicore module, both of which rely on Thrust with the OpenMP backend.
- the API for cusparse and cublas has changed, with some functionality (e.g. incomplete decomposition preconditioners) completely removed. This will require a refactoring of the Chrono::FSI module (and possibly the Chrono::GPU module).
All of the above will have to happen at some point, but I do not have the bandwidth to tackle any of it for quite a while.
Thanks, @rserban. OK, it likes like I may be able top install CUDA 12.3 alongside CUDA 12.5.
@cekees If you don't mind answering. Did it work with CUDA 12.3? The documentation suggests that the GPU and FSI module were tested with Pascal architecture with CUDA 11.4. I have Ada with 12.3, but I am having errors about a mismatch between the static and dynamic library configuration settings. If you know a configuration that works, it will be a massive help.
Cheers, sal
The main branch of Chrono now supports CUDA versions uptil 12.8 on Windows and Linux (tested on Ubuntu 22.04)