Loading Makefile +54 −27 Original line number Diff line number Diff line Loading @@ -27,9 +27,16 @@ CFLAGS += -I./ FFTWLIBS = # ======================================================== # CODE OPTIONS # # CODE OPTIONS FOR THE COMPILATION # (refer to the RICK wiki here # https://www.ict.inaf.it/gitlab/claudio.gheller/hpc_imaging/-/wikis/home) # ======================================================== # PARALLEL FFT IMPLEMENTATION # use FFTW (it can be switched on ONLY if MPI is active) OPT += -DUSE_FFTW Loading @@ -40,37 +47,36 @@ OPT += -DUSE_FFTW # switch on the OpenMP parallelization #OPT += -DUSE_OMP # write the full 3D cube of gridded visibilities and its FFT transform #OPT += -DWRITE_DATA # ======================================================== # ACTIVATE PIECES OF THE CODE TO BE PERFORMED # write the final image OPT += -DWRITE_IMAGE # perform w-stacking phase correction OPT += -DPHASE_ON # Support CFITSIO !!! Remember to add the path to the CFITSIO library to LD_LIBRARY_PATH #OPT += -DFITSIO # Normalize uvw in case it is not done in the binMS #OPT += -DNORMALIZE_UVW # Gridding kernel: GAUSS, GAUSS_HI_PRECISION, KAISERBESSEL # ======================================================== # SELECT THE GRIDDING KERNEL: GAUSS, GAUSS_HI_PRECISION, KAISERBESSEL OPT += -DGAUSS_HI_PRECISION #OPT += -DGAUSS #OPT += -DKAISERBESSEL #OPT += -DVERBOSE # ======================================================== # ACCELERATION # # GPU OFFLOADING OPTIONS #OPT += -DNVIDIA #use cuda for GPUs # use CUDA for GPUs #OPT += -DCUDACC # use GPU acceleration via OMP Loading @@ -82,26 +88,47 @@ OPT += -DGAUSS_HI_PRECISION # use NVIDIA GPU to perform the reduce #OPT += -DNCCL_REDUCE # use AMD GPU to perform the reduce #OPT += -DRCCL_REDUCE # use GPU to perform FFT #OPT += -DCUFFTMP # FULL GPU SUPPORT - Recommended for full NVIDIA GPU code execution OPT += -DFULL_NVIDIA ifeq (FULL_NVIDIA,$(findstring FULL_NVIDIA,$(OPT))) OPT += -DCUDACC -DNCCL_REDUCE -DCUFFTMP endif # support for AMD GPUs #OPT += __HIP_PLATFORM_AMD__ # use AMD GPU to perform the reduce #OPT += -DRCCL_REDUCE # ======================================================= # OUTPUT HANDLING # Support CFITSIO !!! Remember to add the path to the CFITSIO library to LD_LIBRARY_PATH #OPT += -DFITSIO # write the full 3D cube of gridded visibilities and its FFT transform #OPT += -DWRITE_DATA # write the final image OPT += -DWRITE_IMAGE # ======================================================= # DEVELOPING OPTIONS #OPT += -DVERBOSE #perform the debugging in the ring implementation #OPT += -DDEBUG # ======================================================== # ======================================================== #FULL GPU SUPPORT!!! OPT += -DFULL_NVIDIA ifeq (FULL_NVIDIA,$(findstring FULL_NVIDIA,$(OPT))) OPT += -DCUDACC -DNCCL_REDUCE -DCUFFTMP endif # ======================================================= # END OF OPTIONS # ======================================================= ifeq (USE_OMP,$(findstring USE_OMP,$(OPT))) Loading Loading
Makefile +54 −27 Original line number Diff line number Diff line Loading @@ -27,9 +27,16 @@ CFLAGS += -I./ FFTWLIBS = # ======================================================== # CODE OPTIONS # # CODE OPTIONS FOR THE COMPILATION # (refer to the RICK wiki here # https://www.ict.inaf.it/gitlab/claudio.gheller/hpc_imaging/-/wikis/home) # ======================================================== # PARALLEL FFT IMPLEMENTATION # use FFTW (it can be switched on ONLY if MPI is active) OPT += -DUSE_FFTW Loading @@ -40,37 +47,36 @@ OPT += -DUSE_FFTW # switch on the OpenMP parallelization #OPT += -DUSE_OMP # write the full 3D cube of gridded visibilities and its FFT transform #OPT += -DWRITE_DATA # ======================================================== # ACTIVATE PIECES OF THE CODE TO BE PERFORMED # write the final image OPT += -DWRITE_IMAGE # perform w-stacking phase correction OPT += -DPHASE_ON # Support CFITSIO !!! Remember to add the path to the CFITSIO library to LD_LIBRARY_PATH #OPT += -DFITSIO # Normalize uvw in case it is not done in the binMS #OPT += -DNORMALIZE_UVW # Gridding kernel: GAUSS, GAUSS_HI_PRECISION, KAISERBESSEL # ======================================================== # SELECT THE GRIDDING KERNEL: GAUSS, GAUSS_HI_PRECISION, KAISERBESSEL OPT += -DGAUSS_HI_PRECISION #OPT += -DGAUSS #OPT += -DKAISERBESSEL #OPT += -DVERBOSE # ======================================================== # ACCELERATION # # GPU OFFLOADING OPTIONS #OPT += -DNVIDIA #use cuda for GPUs # use CUDA for GPUs #OPT += -DCUDACC # use GPU acceleration via OMP Loading @@ -82,26 +88,47 @@ OPT += -DGAUSS_HI_PRECISION # use NVIDIA GPU to perform the reduce #OPT += -DNCCL_REDUCE # use AMD GPU to perform the reduce #OPT += -DRCCL_REDUCE # use GPU to perform FFT #OPT += -DCUFFTMP # FULL GPU SUPPORT - Recommended for full NVIDIA GPU code execution OPT += -DFULL_NVIDIA ifeq (FULL_NVIDIA,$(findstring FULL_NVIDIA,$(OPT))) OPT += -DCUDACC -DNCCL_REDUCE -DCUFFTMP endif # support for AMD GPUs #OPT += __HIP_PLATFORM_AMD__ # use AMD GPU to perform the reduce #OPT += -DRCCL_REDUCE # ======================================================= # OUTPUT HANDLING # Support CFITSIO !!! Remember to add the path to the CFITSIO library to LD_LIBRARY_PATH #OPT += -DFITSIO # write the full 3D cube of gridded visibilities and its FFT transform #OPT += -DWRITE_DATA # write the final image OPT += -DWRITE_IMAGE # ======================================================= # DEVELOPING OPTIONS #OPT += -DVERBOSE #perform the debugging in the ring implementation #OPT += -DDEBUG # ======================================================== # ======================================================== #FULL GPU SUPPORT!!! OPT += -DFULL_NVIDIA ifeq (FULL_NVIDIA,$(findstring FULL_NVIDIA,$(OPT))) OPT += -DCUDACC -DNCCL_REDUCE -DCUFFTMP endif # ======================================================= # END OF OPTIONS # ======================================================= ifeq (USE_OMP,$(findstring USE_OMP,$(OPT))) Loading