-
Notifications
You must be signed in to change notification settings - Fork 5
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
Create CMake for 2Decomp #32
Comments
The current release of 2decomp provides only a makefile. Are you proposing to take over development of a cmake-based build system for 2decomp? This isn't necessary because we are going to be using a new spack package for the install of 2decomp. You can see it in my branch at https://github.com/icl-utk-edu/fiber/blob/gragghia/ci/spack/packages/2decomp-fft/package.py The spack package will be able to modify any of the required configuration parameters for the build by just editing the Makefile.inc. |
|
I just wouldn't want to work on a cmake for a package that isn't mine. I suppose it depends on how much work it would take. For me it would take a lot of work because I have limited experience. What are the specific advantages of a cmake build that we can't do right now with spack's makefile editing? From looking at the Makefile.inc.x86 in 2decomp, it appears that we mainly just need to make sure it can link with the fft backend. The spack compiler wrapper should take care of that, or worst-case we have to pass it the INCLUDE and LIB directories. |
|
Usually you can just do |
Geri, it's up to you. We spent some time debugging Makefile, variables, and if-then-else logic inside of it. We eventually translated ORNL/OLCF variables into ICL/Saturn variables and the build succeeded. It was a chore to get through all the layers. If you can get Spack package working for |
OK, I have added fftw and mkl support to the 2decomp-fft spack package. It is included in my currently open PR. |
Thank you Geri! |
Currently 2Decomp uses many hard-coded variables during building process, which makes it not portable to other machines.
Using CMake instead of Makefile would certainly help very much.
The text was updated successfully, but these errors were encountered: