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

Expanding beyond CUDA? #1503

Closed
pbrady opened this issue Aug 4, 2023 · 7 comments
Closed

Expanding beyond CUDA? #1503

pbrady opened this issue Aug 4, 2023 · 7 comments
Labels

Comments

@pbrady
Copy link

pbrady commented Aug 4, 2023

I was hoping to try out meshroom but don't currently have a device with an nvidia gpu so it seems that I can't yet do what I want. I'm curious if there's a strong desire here to stick with only cuda or if there would be interest in incorporating something like kokkos which would allow for a single source solution to targeting backends such as cuda, hip, sycl and openmp.

@natowi
Copy link
Member

natowi commented Aug 6, 2023

There is interest but not enough people who have the resources to implement and maintain it ;) If you are interested in pushing the topic and have resources to support the effort, you are welcome to get in touch with the Alicevision Team.

There is https://github.com/alicevision/MeshroomMicMac and something similar in preparation for Colmap, which would provide an alternative to the Alicevision depthmap node without rewriting the depthmap node on the Alicevision side, by utilizing other tools.

@pbrady
Copy link
Author

pbrady commented Aug 10, 2023

That is a lot more cuda than I thought!

@natowi
Copy link
Member

natowi commented Aug 12, 2023

These two links provide some information why cuda is so widely used: Background on why CUDA is more popular than OpenCL/Vulkan + CUDA vs. OpenCL (similar reasons apply to the photogrammetry research and development)

@pbrady
Copy link
Author

pbrady commented Aug 15, 2023

Thanks for the links. I can certainly see why the original choice was made. In my own field of computational physics some still prefer the CUDA route but libraries like kokkos that I linked above which offer an abstraction above CUDA and can be compiled for multiple backends have matured and been very effective at achieving performance portability across different vendors and architectures. That begin said, I don't know enough about photogrammetry to know if the design choices that make something like kokkos well suited for computational physics codes would also play well here.

I wouldn't mind trying to do some small scale experiments exploring kokkos (mostly because that's what I know) but I don't know where to begin. The CUDA depthmap code is rather intimidating.

@natowi
Copy link
Member

natowi commented Aug 15, 2023

There are already some tests on cuda alternatives being done behind the scenes. However, the first step was clean up and improvement of the existing depth map code.
You can write a private message to the team: alicevision-team@googlegroups.com if you are interested in contributing, your help would be most welcome.

Copy link

This issue has been automatically marked as stale because it has not had recent activity. It will be closed if no further activity occurs. Thank you for your contributions.

@github-actions github-actions bot added the stale label Aug 10, 2024
@natowi
Copy link
Member

natowi commented Aug 11, 2024

Now mostly resolved by https://github.com/vosen/ZLUDA
alicevision/Meshroom#595

@natowi natowi closed this as completed Aug 11, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
Projects
None yet
Development

No branches or pull requests

2 participants