-
-
Notifications
You must be signed in to change notification settings - Fork 925
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
Fix CUDA for older cards on Linux #712
Conversation
@pierotofy can you pls explain the problem you fixed? |
It's really a fix for the warnings that come up when compiling some of the Eigen code (it's the same issue as https://eigen.tuxfamily.org/bz/show_bug.cgi?id=1323).
I've modified the CMakeFile to pull the list of available architectures / codegens automatically and a user-defined I've also made it generic (not just for Unix/Linux). |
CMakeLists.txt
Outdated
endif() | ||
|
||
set(CMAKE_CUDA_FLAGS "${CMAKE_CUDA_FLAGS} --expt-relaxed-constexpr") |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
this shouldn't be inside the OpenMVS_MAX_CUDA_COMPATIBILITY if?
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
Nop, it applies to all configurations.
the new code adds these flags on my machine:
Would be better to only add the latest architecture and not all of them? |
If you only add the latest architecture, the program will not run on older cards. That's the point of If you don't set |
good point, so in this case we should modify the default mode to add only the latest architecture; so use the new code for both, and differ only at the end when the arch are added; what do you think? |
Sure, I'll make a commit with the change. |
if I use the default mode the arch is set to 52 for some reason, not sure why as from your code it seems 86 is supported |
The default depends on the CUDA toolkit version:
In this case you're on 11.x, so the default is 52 ( |
Now that I think about it, are you sure you want to use always the latest arch and not the compiler's default? This might prevent the code from running on your card, unless it's one of the latest models. |
that is, I have 11.2 |
Probably the default one. |
ok, so let's let it as it is |
Thanks for reviewing the changes! |
I thank you for figuring out all this, it is very complex!!! |
* dense: add image mask support * dense: fix bug in mask application * build: update find packages * build: fix usage as third-party library * interface: export and compare camera poses with an OpenMVG refined version * interface: export MVS scene to NVM format * common: fix camera scaling * dense: small code refactor * mvs: view DMAPs with different resolution * interface: replace define with constexp * interface: small change * common: fix PFM exporter/importer * common: disable CPUID on ARM platforms * dense: add Region-Of-Interest (ROI) support * common: improve octree speed * build: update AppVeyor * mesh: split mesh in sub-meshed by max area * dense: split scene in sub-scenes * cmake: build libCommon/IO/Math as shared if BUILD_SHARED_LIBS=ON (#650) * mesh: fix bug in RemoveFaces() * dense: filter more redundant views from sub-scenes * common: add ZSTD serialization support * apps: set internal linkage for functions and variables (#656) * common: small refactor * mesh: raster triangles using barycentric coordinates * remove cotire * dense: merge small sub-scenes * interface: import COLMAP depth-maps * interface: add MVS preset to the python script * interface: fix COLMAP on linux * common: make binary projects portable * viewer: display views seeing selected point or points seen by the current view * dense: improve depth-map initialization * dense: merge depth-maps (no fusion) * interface: add similarity transform functionality * common: fix file permissions on linux * mesh: add GLTF writing support * mesh: add target-face-num parameter to ReconstructMesh (#671) * mesh: improve GLTF support * dense: add geometric-consistency * dense: fix for invalid images (cherry picked from commit b29648f835e5ee0b36b4240a160a20124001f34d) * dense: close file in reading invalid depth-map (#685) * dense: export point-cloud with min number of views per point (cherry picked from commit 9b6b2fd7ec89a5b7ea3acdef83664daccbfc8c03) * dense: detect computed depth-maps (cherry picked from commit 52f9162874e4c3da66bb618dcea9dddc1bdf644a) * refine: initialize image neighbors from input mesh (cherry picked from commit 2a069fa0856582da2b766ba85091d3e46fa783de) * dense: select better angle neighbors (cherry picked from commit 05a49551ad13873c664bf394d4584cf5c44f198c) * dense: patch-match implemented in CUDA (faster & better) * common: fix latest boost * dense: expose --cuda-device option (#707) * build: add Dockerfile for CUDA #710 * dense: fix bug in selecting views (cherry picked from commit d068c02295234199f49b26afc85ac643886f2311) * build: fix CUDA for older cards (#712) * dense: fix small clusters (#702) * interface: fix COLMAP log export * interface: add Metashape and predefined neighbors list support * interface: fix compile linux * dense: add support for scenes with empty point-cloud but known (coarse) mesh * dense: filter low score estimates * interface: add Metashape ROI support * viewer: display ROI * dense: increase NCC threshold for CUDA * interface: remap Metashape indices * dense: fix depth-map crash in CUDA * interface: update MVG-MVS pipeline Co-authored-by: YOSHIFUJI Naoki <lwisteria.ao@gmail.com> Co-authored-by: Piero Toffanin <pt@masseranolabs.com> Co-authored-by: Tommy Bojanin <Bojanint@gmail.com>
* dense: add image mask support * dense: fix bug in mask application * build: update find packages * build: fix usage as third-party library * interface: export and compare camera poses with an OpenMVG refined version * interface: export MVS scene to NVM format * common: fix camera scaling * dense: small code refactor * mvs: view DMAPs with different resolution * interface: replace define with constexp * interface: small change * common: fix PFM exporter/importer * common: disable CPUID on ARM platforms * dense: add Region-Of-Interest (ROI) support * common: improve octree speed * build: update AppVeyor * mesh: split mesh in sub-meshed by max area * dense: split scene in sub-scenes * cmake: build libCommon/IO/Math as shared if BUILD_SHARED_LIBS=ON (#650) * mesh: fix bug in RemoveFaces() * dense: filter more redundant views from sub-scenes * common: add ZSTD serialization support * apps: set internal linkage for functions and variables (#656) * common: small refactor * mesh: raster triangles using barycentric coordinates * remove cotire * dense: merge small sub-scenes * interface: import COLMAP depth-maps * interface: add MVS preset to the python script * interface: fix COLMAP on linux * common: make binary projects portable * viewer: display views seeing selected point or points seen by the current view * dense: improve depth-map initialization * dense: merge depth-maps (no fusion) * interface: add similarity transform functionality * common: fix file permissions on linux * mesh: add GLTF writing support * mesh: add target-face-num parameter to ReconstructMesh (#671) * mesh: improve GLTF support * dense: add geometric-consistency * dense: fix for invalid images (cherry picked from commit b29648f835e5ee0b36b4240a160a20124001f34d) * dense: close file in reading invalid depth-map (#685) * dense: export point-cloud with min number of views per point (cherry picked from commit 9b6b2fd7ec89a5b7ea3acdef83664daccbfc8c03) * dense: detect computed depth-maps (cherry picked from commit 52f9162874e4c3da66bb618dcea9dddc1bdf644a) * refine: initialize image neighbors from input mesh (cherry picked from commit 2a069fa0856582da2b766ba85091d3e46fa783de) * dense: select better angle neighbors (cherry picked from commit 05a49551ad13873c664bf394d4584cf5c44f198c) * dense: patch-match implemented in CUDA (faster & better) * common: fix latest boost * dense: expose --cuda-device option (#707) * build: add Dockerfile for CUDA #710 * dense: fix bug in selecting views (cherry picked from commit d068c02295234199f49b26afc85ac643886f2311) * build: fix CUDA for older cards (#712) * dense: fix small clusters (#702) * interface: fix COLMAP log export * interface: add Metashape and predefined neighbors list support * interface: fix compile linux * dense: add support for scenes with empty point-cloud but known (coarse) mesh * dense: filter low score estimates * interface: add Metashape ROI support * viewer: display ROI * dense: increase NCC threshold for CUDA * interface: remap Metashape indices * dense: fix depth-map crash in CUDA * interface: update MVG-MVS pipeline * increase version to 2.0.0 Co-authored-by: YOSHIFUJI Naoki <lwisteria.ao@gmail.com> Co-authored-by: Piero Toffanin <pt@masseranolabs.com> Co-authored-by: Tommy Bojanin <Bojanint@gmail.com>
Fixes #708