Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

FFTE backend #13

Open
af-ayala opened this issue Jan 19, 2022 · 2 comments
Open

FFTE backend #13

af-ayala opened this issue Jan 19, 2022 · 2 comments
Assignees
Labels
build Build system suggestions enhancement New feature or request help wanted Extra attention is needed

Comments

@af-ayala
Copy link

Currently, we need to address:

  • Modify CMake for correct compilation, using GCC 7 or higher. In case PGI is needed, we need to put that option accordingly.
  • Once compiling, use the test3D_CPU_C2C.c and test3D_GPU_C2C.c , for verifying if routines from FFTE are being correctly called. The Error checker can be deactivated at this point (comment that section out).
  • If possible, verify correctness by printing out the output of the forward FFTE and compare to the one from FFTW or heFFTe backends.
@af-ayala af-ayala added enhancement New feature or request help wanted Extra attention is needed build Build system suggestions labels Jan 19, 2022
@af-ayala
Copy link
Author

af-ayala commented Feb 24, 2022

Do we have any update on FFTE backend? @luszczek

@luszczek
Copy link
Contributor

I only had to change this for OpenMPI 3:

diff --git a/benchmarks/CMakeLists.txt b/benchmarks/CMakeLists.txt
index 7aa1d7e..504a9aa 100644
--- a/benchmarks/CMakeLists.txt
+++ b/benchmarks/CMakeLists.txt
@@ -24,7 +24,7 @@ macro(fiber_add_benchmark fiber_benchmark)
         target_link_libraries(${fiber_benchmark} p3dfft.3 stdc++ fftw3 fftw3f)
     endif()
     if (FIBER_ENABLE_FFTE)
-        target_link_libraries(${fiber_benchmark} ffte)
+        target_link_libraries(${fiber_benchmark} fftempi ffte gfortran mpi_mpifh)
     endif()
     if (FIBER_ENABLE_SWFFT)
         target_link_libraries(${fiber_benchmark} swfft)

Then I used this command to configure:
env CC=mpicc LDFLAGS=-L/path/to/ffte cmake -D CMAKE_INSTALL_PREFIX=/path/to/fiber/install -D FIBER_ENABLE_FFTE=ON /path/to/fiber

Then simple make worked as expected.

PGI is only needed when you use old CUDA Fortran. Now you can just use NVIDIA's NVHPC SDK that has CUDA Fortran bundled with other tools.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Build system suggestions enhancement New feature or request help wanted Extra attention is needed
Projects
None yet
Development

Successfully merging a pull request may close this issue.

2 participants