Ivanlh20 / multem

MULTEM is a powerful and advanced collection of C++ routines with CUDA support, designed to perform efficient and accurate multislice simulations for various TEM experiments such as HRTEM, STEM, ISTEM, ED, PED, CBED, ADF-TEM, ABF-HC, EFTEM, and EELS.
GNU General Public License v3.0
66 stars 26 forks source link

Cuda 9/10? #23

Closed thomasaarholt closed 4 years ago

thomasaarholt commented 5 years ago

The IT department is wanting researchers to play on their new GPU nodes, which consist of 28 CPU cores, 128 GiB RAM and 4 x NVIDIA RTX 2080 Ti cards, running Ubuntu 16.

For now they only have CUDA 9/10, with no SLURM/module loading system.

Is GCC a necessary requirement? GCC is available. Has anyone tried compiling with CUDA 9/10? Or am I best off contacting IT and asking them to install the necessary software? I will already need them to install CMake, for instance, so I will be contacting them nonetheless.

Quantumstud commented 5 years ago

Last time I tried compiling the code using MATLAB(Mex), with CUDA toolkit 9 in Ubuntu system. There were a lot of lines where the compiler was trying to search for the CUDA toolkit 8. Hence, I had to change those search lines in the package. However, I always had compatibility issues. The package ran smoothly once I installed the toolkit 8. Although, I am not familiar with the CMAKE compiling procedure.

thomasaarholt commented 5 years ago

Sorry, CMake is not necessary for MULTEM - I just assumed.

Quantumstud commented 5 years ago

Were you successful in running the code in the cluster? I too have some GPU hours and wanted to run this package in a cluster but after several attempts have been unable to do so.

ningustc commented 5 years ago

If the Thrust library is not removed from MULTEM, the support for CUDA version over 9.2 always fails.

thomasaarholt commented 5 years ago

Could you clarify that?

ningustc commented 5 years ago

You can write a simple test using cuda9.2, include the thrust header files, and call the function raw_pointer_cast<>. In my package, I remove all the things related to thrust.