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

Windows version #114

Open
ApplestarGY opened this issue Aug 16, 2021 · 7 comments
Open

Windows version #114

ApplestarGY opened this issue Aug 16, 2021 · 7 comments

Comments

@ApplestarGY
Copy link

Hi,

I was wondering if cuFINUFFT is platform neutral. If not, do you plan to develop a Windows version?

Thanks,
Yuan

@ahbarnett
Copy link
Collaborator

Dear Yuan, we have not tried it on Windows. We suspect that only some changes to the Makefile are needed. You might want to look at those changes for the related FINUFFT code. I am alerting @MelodyShih @garrettwrong @JBlaschke in case they have anything to add. Best, Alex

@JBlaschke
Copy link
Contributor

Hi @ApplestarGY, I haven't use the NVIDIA toolchain on Windows, but my assumption would be that it's not that different from the Linux toolchain (especially on if you use the Windows Subsystem for Linux). That is to say that cufinufft isn't using any library calls specific to Linux/POSIX. So if you can get the compiler to work, I doubt there would be any problems. The only place where I am a little unsure would be python -- I don't know how the python C-API works in Windows.

@turbotage
Copy link

@ahbarnett , @JBlaschke I guess the answer is that there is not currently any plan to deploy cuFINUFFT to Windows from your side? Even though no linux specific dependencies are used, straight up building this on Windows looks cumbersome. Perhaps easiest to rewrite to use cmake? Greatly appreciated feature request would be python wheels working on Windows 😄

@JBlaschke
Copy link
Contributor

@turbotage -- I think you have two questions here:

  1. Do we plan to deploy this on Windows?
  2. Do we plan to include alternate build systems (e.g. cmake)?

I think these are fundamentally different. My answers would be:

  1. No. I am unaware of any HPC systems running Windows
  2. This is an interesting question. I am open to including a cmake build unless folks here have any objections. I like embracing multiple build systems for resiliency. We could add python's setuptools to the mix also. (@ahbarnett what do you think?)

@turbotage why do you think building on windows is cumbersome? The Makefile doesn't do anything fancy, like it's not running perl/bash scripts to find things, etc. So you might just set the paths for Windows + use the Nvidia compiler. Or am I missing anything?

@ahbarnett
Copy link
Collaborator

ahbarnett commented Jan 26, 2023 via email

@turbotage
Copy link

@ahbarnett I saw it; really awesome! What is the outlook for Type 3 transforms there? There is a pull request here for it, #120.

@ahbarnett
Copy link
Collaborator

We do want to bring in this PR for type 3, but that will happen after the initial merge.
For now I guess you have to try to compile that PR.
Sorry, there are multiple axes here (CPU/GPU, 3 types, make/cmake, ...) and @blackwer and @janden are working on the merge.
It is great to know you will be a user!

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

4 participants