finufft icon indicating copy to clipboard operation
finufft copied to clipboard

pip install cufinufft on windows

Open Divisible8737 opened this issue 9 months ago • 8 comments

Is this supposed to work on windows?

From the latest stable version of Anaconda on Windows 11 I get

(base) PS C:\> pip install cufinufft
ERROR: Could not find a version that satisfies the requirement cufinufft (from versions: none)
ERROR: No matching distribution found for cufinufft

Divisible8737 avatar May 08 '24 21:05 Divisible8737

I guess only linux wheels are uploaded, https://pypi.org/project/cufinufft/#files

lu1and10 avatar May 08 '24 21:05 lu1and10

Are OSX and Windows pypi something we could do (would it happen automatically with nanobind/cmake?)

On Wed, May 8, 2024 at 5:29 PM Libin Lu @.***> wrote:

I guess only linux wheels are uploaded, https://pypi.org/project/cufinufft/#files

— Reply to this email directly, view it on GitHub https://github.com/flatironinstitute/finufft/issues/441#issuecomment-2101511374, or unsubscribe https://github.com/notifications/unsubscribe-auth/ACNZRSVGHLMIJEMFJALP4S3ZBKKKRAVCNFSM6AAAAABHNWWMRWVHI2DSMVQWIX3LMV43OSLTON2WKQ3PNVWWK3TUHMZDCMBRGUYTCMZXGQ . You are receiving this because you are subscribed to this thread.Message ID: @.***>

-- *-------------------------------------------------------------------~^`^~._.~' |\ Alex Barnett Center for Computational Mathematics, Flatiron Institute | \ http://users.flatironinstitute.org/~ahb 646-876-5942

ahbarnett avatar May 09 '24 02:05 ahbarnett

I'm not sure we've been able to get cuFinufft to build on those platforms, to be honest. I think Garrett looked into it back in the day, but I think we decided that trying to figure out the CUDA compilation steps under Windows would be quite a lot of work and we didn't have any Windows users at that point. macOS might be easier to reach. Things may be easier with cmake, since hopefully that would take care of a lot of the Windows stuff.

janden avatar May 09 '24 06:05 janden

@janden About a year ago or so, when I was on Windows (I'm on Linux now), I forked finufft and managed to build cufinufft on Windows. I also added some install steps so finufft could be better consumed in other CMake projects. I don't remember the tricks that finally made it build. But if you are interested, feel free to read my CMakeLists, CMakePresets, and so on here. I think one key thing was that static libs just doesn't work on windows with cuda.

The transition to cmake was great! But I still think some improvements in the build/install setup would be great! Like fixing build on Windows as a start, then adding install steps so finufft can be consumed via find_package(...) and target_link_libraries(...) in cmake. Then perhaps adding ports on popular package managers like vcpkg. This would make it so much nicer to consume and link against.

Perhaps this should be it's own issue :D

turbotage avatar Jul 11 '24 10:07 turbotage

I think this can be incorporated in #497 then it should be okay.

DiamonDinoia avatar Jul 22 '24 19:07 DiamonDinoia

I agree this is something we should look into. Currently, however, I'm not sure we have access to a Windows computer with a GPU that we can use to test things on.

janden avatar Jul 22 '24 20:07 janden

I can test it, once you make it work on linux I can give it a go.

DiamonDinoia avatar Jul 22 '24 21:07 DiamonDinoia

Great. Thanks!

janden avatar Jul 23 '24 15:07 janden