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

When will windows be supported? #8

Closed
caibf opened this issue Jul 7, 2020 · 9 comments
Closed

When will windows be supported? #8

caibf opened this issue Jul 7, 2020 · 9 comments
Labels
enhancement New feature or request

Comments

@caibf
Copy link

caibf commented Jul 7, 2020

Hi everyone,

I am so greatly to hear that the libray was able to process 3D point cloud data using CUDA. Furthermore, cupoch is based on the functionality of Open3D.

From this issue: https://github.com/neka-nat/cupoch/issues/3, I know that the libray didn't support either MINGW or MSVC on windows.

However, my app developed with MSVC and ran on windows. Up to now, I use Open3D to implement my requirements on CPU yet. I'm very anxious to speed up my app by running on GPU.

When will windows be supported?

@VladMVLX
Copy link

VladMVLX commented Jul 7, 2020

Hi caibf,

You can actually compile cupoch for windows using CMAKE and MSVC with cuda toolkit installed, not from scratch as it is require some manual work and adjustments, but I was able to compile and use it in my windows based project.

There is some huge problems with rmm so try to avoid building with it, everything else works just fine but needs some minor manual adjustments in code and in build scrips.

But yeah some "official from dev" support of windows platform would be nice :)

@neka-nat
Copy link
Owner

neka-nat commented Jul 8, 2020

Hi,

Thanks for the feedback.
I am now trying to see if I can compile with MSVC without rmm.
https://github.com/neka-nat/cupoch/tree/msvc
After a week or so, I'll know if I can compile it.

@caibf
Copy link
Author

caibf commented Jul 8, 2020

Hi VladMVLX,

Wonderful news for me! Could you give me the detailed guide to me about how to make some minor adjustments in code and in build scripts?

@neka-nat
Copy link
Owner

neka-nat commented Jul 8, 2020

Hi,

The following branch has been successfully compiled in msvc.
https://github.com/neka-nat/cupoch/tree/msvc
The environment is as follows.

  • Windows10 64bit
  • Visual Studio 2019
  • python3.7
  • CUDA10.1

I have checked import, but have not tested it.
You can also install with pip.

pip install cupoch

@neka-nat
Copy link
Owner

Hi,

You can compile it with msvc in the latest master branch.

  • Windows10 64bit
  • Visual Studio 2019
  • python3.7
  • CUDA10.2

You can also install it with pip.

@caibf
Copy link
Author

caibf commented Sep 7, 2020

Hey @neka-nat ,

As far as I know, the third party of rmm only supports on linux(with Python versions 3.6 or 3.7). How did you solve this problem that compiled with windows?

@neka-nat
Copy link
Owner

neka-nat commented Sep 7, 2020

Hi @caibf ,

When compiling on Windows, rmm is disabled.
The default allocator of thrust is used.

@caibf
Copy link
Author

caibf commented Sep 8, 2020

OK. Thanks @neka-nat. Thrust is a library that focus on parallel algorithms and data structures, but RMM is a pool allocator to make CUDA device memory allocation / deallocation faster and asynchronous. Thrust has the high-level interface for GPU programming, so you don't need to take care of memory access and allocation.

Therefore, what's the performance different between thrust and rmm. Whether I can say, rmm has a good performance than thrust on linux in the same hareware environment.

@neka-nat
Copy link
Owner

neka-nat commented Sep 8, 2020

I feel that using the RMM pool allocator would be slightly faster.
No big changes.

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

No branches or pull requests

3 participants