-
Notifications
You must be signed in to change notification settings - Fork 79
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
add FFT=DUCC option to makefile #511
Conversation
… to ducc_setup (kill this)
… and crashed at runtime)
the following command fails for me: make clean && make test FFT=DUCC error: include/finufft/fft.h:5:10: fatal error: ducc0/fft/fftnd_impl.h: No such file or directory
5 | #include "ducc0/fft/fftnd_impl.h" Doing
works fine. Maybe the COOKIE is not picked up properly? |
CI failure seems to a missing openmp flag while compiling. |
great catch, and thanks for the fix, Libin. Meanwhile I've done (and improved) the install docs. Will PR soon. |
I have the following issue, if I do make clean && make setupclean && make test FFT=DUCC -j then some compile commands are executed before clone finishes and I get the following errors: Cloning repository https://github.com/xtensor-stack/xsimd.git at tag 13.0.0 into directory deps/xsimd
Cloning repository https://gitlab.mpcdf.mpg.de/mtr/ducc.git at tag ducc0_0_34_0 into directory deps/ducc
make: *** No rule to make target 'deps/ducc/src/ducc0/infra/string_utils.o', needed by 'lib/libfinufft.so'. Stop.
make: *** Waiting for unfinished jobs....
Cloning into 'deps/ducc'...
Cloning into 'deps/xsimd'...
In file included from src/fft.cpp:2:
include/finufft/fft.h:5:10: fatal error: ducc0/fft/fftnd_impl.h: No such file or directory
5 | #include "ducc0/fft/fftnd_impl.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~ I encountered that issue with xsimd in the past and had to change the dependencies structure for all the files requiring xsimd to depend on the |
I am aware of this. The ducc sources need to have the ducc setup target as
a dependency...
…On Mon, Aug 5, 2024 at 11:05 AM Marco Barbone ***@***.***> wrote:
I have the following issue, if I do
make clean && make setupclean && make test FFT=DUCC -j
then some compile commands are executed before clone finishes and I get
the following errors:
Cloning repository https://github.com/xtensor-stack/xsimd.git at tag 13.0.0 into directory deps/xsimd
Cloning repository https://gitlab.mpcdf.mpg.de/mtr/ducc.git at tag ducc0_0_34_0 into directory deps/ducc
make: *** No rule to make target 'deps/ducc/src/ducc0/infra/string_utils.o', needed by 'lib/libfinufft.so'. Stop.
make: *** Waiting for unfinished jobs....
Cloning into 'deps/ducc'...
Cloning into 'deps/xsimd'...
In file included from src/fft.cpp:2:
include/finufft/fft.h:5:10: fatal error: ducc0/fft/fftnd_impl.h: No such file or directory
5 | #include "ducc0/fft/fftnd_impl.h"
| ^~~~~~~~~~~~~~~~~~~~~~~~
I encountered that issue with xsimd in the past and had to change the
dependencies structure for all the files requiring xsimd to depend on the .PHONY
setup
—
Reply to this email directly, view it on GitHub
<#511 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNZRSRVJDSD5FY674EZI3TZP6IEVAVCNFSM6AAAAABL3XOYU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENRZGI4TQNJSGM>
.
You are receiving this because you authored the thread.Message ID:
***@***.***>
--
*-------------------------------------------------------------------~^`^~._.~'
|\ Alex Barnett Center for Computational Mathematics, Flatiron Institute
| \ http://users.flatironinstitute.org/~ahb 646-876-5942
|
I tried: $(DUCC_SRC)/%.cc: $(DUCC_COOKIE)
$(DUCC_SRC)/%.o: $(DUCC_SRC)/%.cc or $(DUCC_SRC)/%.cc: setup
$(DUCC_SRC)/%.o: $(DUCC_SRC)/%.cc but it does not seem to work |
Weird. We could just add a note to do make setup without -j, then proceed with -j if they want. I have other deadlines until about 5pm but can help then. There's probably some remaining doc tweaks, but it should be ready by tomorrow meeting. |
Maybe let's make it work first, I made an ugly commit to make makefile work with -j first.
|
Thanks, Libin, for the (ugly) fix and the helpful comments in the makefile. |
I'm hoping Marcos' |
ready to go. (except I can't get python to build locally, and can't doc it, indep issue.) |
CMakeLists.txt
Outdated
# include(cmake/setupSphinx.cmake) # to be made default off since only for | ||
# devs |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
This should be not commented out. Please, merge master
@@ -49,7 +49,9 @@ Developer notes | |||
|
|||
* The cufinufft Python wheels are generated using Docker based on the manylinux2014 image. For instructions, see ``tools/cufinufft/distribution_helper.sh``. These are binary wheels that are built using CUDA 11 (or optionally CUDA 12, but these are not distributed on PyPI) and bundled with the necessary libraries. | |||
|
|||
* Testing cufinufft (for FI, mostly) | |||
* CMake compiling on linux at Flatiron Institute (Rusty cluster): We have had a report that if you want to use LLVM, you need to ``module load llvm/16.0.3`` otherwise the default ``llvm/14.0.6`` does not find ``OpenMP_CXX``. |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
maybe this is outdated? @blackwer, could you give a review?
trouble since I deleted cmake/ folder and then did new commits, then pushed. Trying to recover it. |
|
It sees them as added files but refuses to push them... |
Ok, pushed. I am getting really messed up by this new clang-format hook. (it means I have to commit twice). |
Marco, could you kindly fix those cmake files- it is impossible for me to do it thanks to your clang-format... |
I will have a look. |
doesn't seem to affect the CI. I know I have to edit .pre-commit-config.yaml |
I'm bringing in and fixing post-merge. |
@ahbarnett wildcard for ducc sources seems to work in the commit 57cd182 let me know if it breaks on your side |
Seems to work! Thanks! I don't understand the repeated colons though (two
colons on same line? I didn't see that in the make manual...) Cheers, Alex
…On Tue, Aug 6, 2024 at 9:39 PM Libin Lu ***@***.***> wrote:
@ahbarnett <https://github.com/ahbarnett> wildcard for ducc sources seems
to work in the commit 57cd182
<57cd182>
let me know if it breaks on your side
—
Reply to this email directly, view it on GitHub
<#511 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNZRSTPXC4I4AWMPQDZU5DZQF27TAVCNFSM6AAAAABL3XOYU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZSGQ2TKMRYGY>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
*-------------------------------------------------------------------~^`^~._.~'
|\ Alex Barnett Center for Computational Mathematics, Flatiron Institute
| \ http://users.flatironinstitute.org/~ahb 646-876-5942
|
I learn from this http://makefiletutorial.com/#static-pattern-rules |
Cute!
…On Tue, Aug 6, 2024 at 9:52 PM Libin Lu ***@***.***> wrote:
Seems to work! Thanks! I don't understand the repeated colons though (two
colons on same line? I didn't see that in the make manual...) Cheers, Alex
… <#m_-3368767352935253467_>
On Tue, Aug 6, 2024 at 9:39 PM Libin Lu *@*.*> wrote: @ahbarnett
<https://github.com/ahbarnett> https://github.com/ahbarnett
<https://github.com/ahbarnett> wildcard for ducc sources seems to work in
the commit 57cd182
<57cd182>
<57cd182
<57cd182>>
let me know if it breaks on your side — Reply to this email directly, view
it on GitHub <#511 (comment)
<#511 (comment)>>,
or unsubscribe
https://github.com/notifications/unsubscribe-auth/ACNZRSTPXC4I4AWMPQDZU5DZQF27TAVCNFSM6AAAAABL3XOYU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZSGQ2TKMRYGY
<https://github.com/notifications/unsubscribe-auth/ACNZRSTPXC4I4AWMPQDZU5DZQF27TAVCNFSM6AAAAABL3XOYU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZSGQ2TKMRYGY>
. You are receiving this because you were mentioned.Message ID: @.*>
-- *-------------------------------------------------------------------^`^._.~'
|\ Alex Barnett Center for Computational Mathematics, Flatiron Institute |
\ http://users.flatironinstitute.org/~ahb 646-876-5942
I learn from this http://makefiletutorial.com/#static-pattern-rules
Seems a popular, having 4.7k git stars.
—
Reply to this email directly, view it on GitHub
<#511 (comment)>,
or unsubscribe
<https://github.com/notifications/unsubscribe-auth/ACNZRSS4VPSAFGXXW5QOZB3ZQF4T5AVCNFSM6AAAAABL3XOYU2VHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDENZSGQ3DMOJYGE>
.
You are receiving this because you were mentioned.Message ID:
***@***.***>
--
*-------------------------------------------------------------------~^`^~._.~'
|\ Alex Barnett Center for Computational Mathematics, Flatiron Institute
| \ http://users.flatironinstitute.org/~ahb 646-876-5942
|
Implements switchable FFT in gnu makefile.
Still to do:
This also fixes a couple of indep makefile bugs:
Reviewers please could you check:
DUCC_CXXFLAGS := -fPIC -std=c++17 -ffast-math
I just took from cmake/setupDUCC but I'm not sure if the best default flags, esp, given fastmath bleed-over recent issue.The full set of test cases really is the Cartesian product:
WOuld be nice to have all tested in CI some day.