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

Support Meshroom #153

Merged
merged 19 commits into from
May 16, 2024
Merged

Support Meshroom #153

merged 19 commits into from
May 16, 2024

Conversation

vosen
Copy link
Owner

@vosen vosen commented Feb 29, 2024

Will close #79 and #149

@vosen vosen changed the title [WIP] Support meshroom [WIP] Support Meshroom Feb 29, 2024
@vosen vosen marked this pull request as ready for review March 26, 2024 02:10
@vosen vosen changed the title [WIP] Support Meshroom Support Meshroom Mar 26, 2024
@servantftechnicolor
Copy link

Hi, I'm from the meshroom team. Would you need some help ?

@vosen
Copy link
Owner Author

vosen commented Mar 28, 2024

Yes, if you have an AMD GPU can you check if Meshroom works under ZLUDA? Instructions are in this PR's README or here: #79 (comment). I've ran a sample dataset, but I'm entirely unfamiliar with Meshroom and I'm not sure if I'm using it properly.

Additionally, is there way to make sure that alicevision/CCTag#210 gets merged and then picked by Alicevision? It not only adds support for CUDA 12, but also makes it so that CUDA code gets compiled with PTX, which is required by ZLUDA.

@natowi
Copy link

natowi commented Mar 30, 2024

@vosen alicevision/CCTag#210 is merged now

@fabiencastan
Copy link

@vosen CCTag PR has been merged and will be used in the next release.
But in all case, CCTag is NOT used in the default photogrammetry pipeline. It's only use for specific use cases (scale the scene to real world coordinate system, etc). The critical point for all users is to get the depth map node working.
Unfortunately, we don't have an AMD card in the team to test. Let us know if we can help.

vosen added 5 commits May 16, 2024 02:23
# Conflicts:
#	ptx/lib/zluda_ptx_impl.bc
#	ptx/src/ast.rs
#	ptx/src/emit.rs
#	ptx/src/ptx.lalrpop
#	ptx/src/test/spirv_run/mod.rs
#	ptx/src/translate.rs
#	zluda/src/cuda.rs
#	zluda/src/impl/surface.rs
@vosen
Copy link
Owner Author

vosen commented May 16, 2024

@fabiencastan Many thanks. CCTag is not used by you, but it's used by the CUDA runtime :). CCTag us built with CUDA runtime and it's up to CUDA runtime to decide when to load kernel files. In some cases CUDA runtime will try to do this at the earliest possible moment. CUDA runtime will call cuModuleLoadData(...) trying to load the ELF binary with kernel modules, ZLUDA returns CUDA_ERROR_NOT_SUPPORTED, this gets surfaced to whatever was the initial CUDA function and Meshroom returns failure.
I'm not 100% sure under what conditions this happens. I can reproduce it with Linux meshroom_batch, but not with Windows executables.
BTW, ZLUDA is not blameless here. We could handle this and return fake CUmodule, but it's a tricky feature - we can't just return an empty CUmodule because usually the next step from the runtime is to load all globals and kernels from the module. We have to parse out globals and kernels from the ELF

Anyway, I'm merging this

@vosen vosen merged commit 2d8c47f into master May 16, 2024
2 checks passed
@pwhelan
Copy link

pwhelan commented Jun 5, 2024

Is there a fix for CUDA_ERROR_NOT_SUPPORTED on linux?

@vosen vosen deleted the meshroom branch August 6, 2024 14:21
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

Successfully merging this pull request may close these issues.

Meshroom 2023.3.0 fails at DepthMap stage
5 participants