Dear all,
I'm writing here to ask your help with my installation of ProjectChrono, that fails independently of the version.
Here the system: a Dell workstation with two NVIDIA RTX A4000,
Ubuntu 22.04 LTS x64 (server) with CUDA 12.5 (installed with .deb
method).
I want to run ProjectChrono 9.0.0 with lot of modules and, after
installing CUDA (please see the attached file
"dpkg_CUDA12.5_ProjectChrono9.0.0.txt"), I followed this
procedure:
# Installing common required packages
sudo apt install git cmake make automake g++ gcc mpich libeigen3-dev libirrlicht-dev
swig python3-dev occt-misc
libocct-data-exchange-dev libocct-draw-dev
libocct-foundation-dev libocct-modeling-data-dev
libocct-ocaf-dev libocct-visualization-dev libgl-dev libglew-dev
libglfw3-dev libglm-dev
#
Compiling Blaze for the MULTICORE module
sudo apt install libblas-dev liblapack-dev
libboost-all-dev
wget
https://bitbucket.org/blaze-lib/blaze/downloads/blaze-3.8.2.tar.gz
tar
xvf blaze-3.8.2.tar.gz
mkdir blaze-3.8.2-build && cd blaze-3.8.2-build
cmake ../blaze-3.8.2 -DCMAKE_INSTALL_PREFIX=/usr/local/blaze-3.8.2
make && sudo make install
# Compiling DEM-Engine
git clone https://github.com/projectchrono/DEM-Engine.git
git submodule init
git submodule update
mkdir build && cd build
# Append in "/etc/profile"
#
# export
CPATH=/usr/local/cuda/targets/x86_64-linux/include${CPATH:+:${CPATH}}
# export PATH=/usr/local/cuda/bin${PATH:+:${PATH}}
# export PATH=/usr/local/cuda/lib64/cmake${PATH:+:${PATH}}
# export
LD_LIBRARY_PATH=/usr/local/cuda/lib64${LD_LIBRARY_PATH:+:${LD_LIBRARY_PATH}}
# export CUDA_HOME=/usr/local/cuda
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/DEM-Engine \
..
make && sudo make install
# ProjectChrono itself
wget
https://github.com/projectchrono/chrono/archive/refs/tags/9.0.0.tar.gz
tar xvf 9.0.0.tar.gz
mkdir chrono-9.0.0-build && cd chrono-9.0.0-build
cmake -DCMAKE_BUILD_TYPE=Release \
-DCMAKE_INSTALL_PREFIX=/usr/local/chrono-9.0.0 \
-DENABLE_MODULE_FSI=1 \
-DENABLE_MODULE_IRRLICHT=1 \
-DENABLE_MODULE_MATLAB=1 \
-DMATLAB_SDK_ROOT=/usr/local/MATLAB/R2023b/extern \
-DENABLE_MODULE_CASCADE=1 \
-DENABLE_MODULE_OPENGL=1 \
-DENABLE_MODULE_POSTPROCESS=1 \
-DENABLE_MODULE_PYTHON=1 \
-DPYTHON_INCLUDE_DIR=$(python3 -c "import sysconfig;
print(sysconfig.get_path('include'))") \
-DPYTHON_LIBRARY=$(python3 -c "import sysconfig;
print(sysconfig.get_config_var('LIBDIR'))") \
-DENABLE_MODULE_VEHICLE=1 \
-DENABLE_MODULE_MULTICORE=1 \
-DBLAZE_INSTALL_DIR=/usr/local/blaze-3.8.2/include/ \
../chrono-9.0.0
Attached you can find the
output of the last "cmake" command, in file
"cmake_command_output.txt", and also "CPackConfig.cmake",
"Makefile" and "CMakeCache.txt".
I get an error
with some include of CUDA .cuh files, as you can see in file
"make_command_output.txt".
Same error
with versions 8.0.0 and upstream (just a git clone), and I cannot understand if I
miss some cmake/make options or if is related to some CUDA missing
package.
Many thanks in advance for your help!
Have a nice day.
MDP
make: *** [Makefile:156: all] Error 2
This seems related to Chrono to me, this time. That file is not
in the source dir. Any ideas?
I used the same configuration options of the previous tries, with
a clean directory.
Thanks again.
Have a nice day.
MDP
The ‘chpf’ package is used as a git submodule. You need to initialize and update the git submodules in your clone of the Chrono repository.
--Radu
--
You received this message because you are subscribed to the Google Groups "ProjectChrono" group.
To unsubscribe from this group and stop receiving emails from it, send an email to
projectchron...@googlegroups.com.
To view this discussion on the web visit
https://groups.google.com/d/msgid/projectchrono/abf7b55d-4e3f-4f39-bff1-2e409aa90f65n%40googlegroups.com.
make: *** [Makefile:156: all] Error 2
This seems related to Chrono to me, this time. That file is not
in the source dir. Any ideas?
I used the same configuration options of the previous tries, with
a clean directory.
Thanks again.
Have a nice day.
Marco
make: *** [Makefile:156: all] Error 2
This seems related to Chrono to me, this time. That file is not
in the source dir. Any ideas?
I used the same configuration options of the previous tries, with
a clean directory.
Thanks again.
Have a nice day.
MDP
Hi MDP,
Please try using CUDA 12.3 (as Dario indicated). Does that resolve the issue?
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/4e23eafa-21b7-44f7-bcfb-537c853d85acn%40googlegroups.com.
MDP – the issues *is* the CUDA version. The only version with which all GPU-based Chrono modules work is 12.3 (including 12.3.2).
Until we update these modules to work with newer CUDA versions, you will need to figure out a different way of getting the appropriate CUDA driver working on your Ubuntu system (not DKMS from what you describe). Note that I have pushed a change to the top-level Chrono CMakeLists that will disable CUDA support in Chrono if using a version newer than 12.3 (and disable Thrust support if using a version newer than 2.2.0).
In Chrono, CUDA is used in the FSI (for the SPH solver for fluid-solid interaction) and GPU (for granular dynamics).
In addition, Thrust (which is easiest installed as part of a CUDA distribution), with its OpenMP backend, is used for the multicore collision detection algorithm (alternative to the Bullet-based one) and in the Chrono::Multicore module.
The multicore collision detection algorithm and Chrono::Multicore do work with Thrust v. 2.3.1 included in CUDA 12.4. This is why you were able to build Chrono with only the core module enabled.
But Chrono::FSI will *not* work with CUDA 12.4 or 12.5. This is what you are seeing now.
To make a long story short: if you want to use any of the GPU-based modules in Chrono, you need to switch to using CUDA 12.3. We are doing this without any issues as part of our CI builds (obviously, with a CUDA driver installed differently than what you do).
To view this discussion on the web visit https://groups.google.com/d/msgid/projectchrono/751d63e1-fd92-45cd-ae43-0fd8cb1baf59n%40googlegroups.com.