Loading README.md +38 −11 Original line number Diff line number Diff line # HPC_Imaging Development of a code for imaging enabled to exploit heterogeneous HPC resource To compile the code, feel free to activate and deactivate options in the Makefile. You will find the code options before and then the acceleration options. #Glacopo Free to activate/deactivate in the Makefile the flags with what you want to test You can simply run the code with the command: If you use GPUs for OpenMP and NCCL Reduce compile the CPU part with gcc, i.e. ############################################ make w-stacking ############################################ It will redirect you to the file Build/Makefile.local, which is complete enough apart from different library paths, feel free to use it or to change SYSTYPE. My aim was to make compilation as simple as possible. When you use GPU offloading with OpenMP, please do not compile the CPU part with NVC. This can be easily fixed by setting the environment variable: ############################################ export OMPI_CC = gcc export OMPI_CXX=nvc++ Please avoid compiling CPU part with nvc, especially if the Luca NUMA machinery is active. Anyway, this is just for stacking and phase correction offloading, currently Ring Reduce and NCCL Reduce are mutually excluding. ########################################### In the case in which the default compiler is NVC. The Makefile is suited to understand which are the parts to be compiled with NVC for the OpenMP offloading. The final linker in this case will be however the NVC/NVC++. The problem does not raise on AMD platforms, because you use clang/clang++ for both CPUs and GPUs The extensions of the executable will be changed depending on the different acceleration options. To run the code, the data/paramfile.txt is available. Feel free to change the paramers, i.e. the path of visibilities, which reduce implementation to use, the number of pixels, the number of OpenMP threads and so on. Once you have compiled the code, run it simply with the command: If you want you can compile the cufftMp but it's not very efficient right now, so use the standard FFTW-MPI or FFTW-MPI/OpenMP FFT tagged simply as: ########################################### OPT += -DHYBRID_FFTW mpirun -np <n> <executable> data/paramfile.txt ########################################### Loading Loading
README.md +38 −11 Original line number Diff line number Diff line # HPC_Imaging Development of a code for imaging enabled to exploit heterogeneous HPC resource To compile the code, feel free to activate and deactivate options in the Makefile. You will find the code options before and then the acceleration options. #Glacopo Free to activate/deactivate in the Makefile the flags with what you want to test You can simply run the code with the command: If you use GPUs for OpenMP and NCCL Reduce compile the CPU part with gcc, i.e. ############################################ make w-stacking ############################################ It will redirect you to the file Build/Makefile.local, which is complete enough apart from different library paths, feel free to use it or to change SYSTYPE. My aim was to make compilation as simple as possible. When you use GPU offloading with OpenMP, please do not compile the CPU part with NVC. This can be easily fixed by setting the environment variable: ############################################ export OMPI_CC = gcc export OMPI_CXX=nvc++ Please avoid compiling CPU part with nvc, especially if the Luca NUMA machinery is active. Anyway, this is just for stacking and phase correction offloading, currently Ring Reduce and NCCL Reduce are mutually excluding. ########################################### In the case in which the default compiler is NVC. The Makefile is suited to understand which are the parts to be compiled with NVC for the OpenMP offloading. The final linker in this case will be however the NVC/NVC++. The problem does not raise on AMD platforms, because you use clang/clang++ for both CPUs and GPUs The extensions of the executable will be changed depending on the different acceleration options. To run the code, the data/paramfile.txt is available. Feel free to change the paramers, i.e. the path of visibilities, which reduce implementation to use, the number of pixels, the number of OpenMP threads and so on. Once you have compiled the code, run it simply with the command: If you want you can compile the cufftMp but it's not very efficient right now, so use the standard FFTW-MPI or FFTW-MPI/OpenMP FFT tagged simply as: ########################################### OPT += -DHYBRID_FFTW mpirun -np <n> <executable> data/paramfile.txt ########################################### Loading