BundleFusion icon indicating copy to clipboard operation
BundleFusion copied to clipboard

VS2017 Cuda 9.1

Open adammpolak opened this issue 7 years ago • 12 comments

Not sure if this is the right place to leave this info but I was able to compile in VS2017 with Cuda 9.1

If you want to run VS2017 with Cuda 9.1

  • Make sure to download VS2017 with building for C++ (in modify in the installation screen)
  • Install Cuda 9.1 after VS2017 has been installed
  • Change reference to 7.0 in FriedLiver.vcxproj to 9.1

If you want to run in debug mode

  • You will get a FreeImage.dll error
  • FreeImage can be found in the mLibExternal/libsWindows/dll64
  • Pop that bad boy in FriedLiver/x64/Debug
  • Also put the 2 z .txt files in the Debug folder as well

adammpolak avatar Jan 25 '18 18:01 adammpolak

@adammpolak : what VS2017 version do you use?? I try to build Bundlefusion using VS2017 with Cuda 9.1 but fail. I meet two problem but I can only fix one of them. the first is the latest VS2017 compile error. It can be solve by modify the vcxproj settings to add

follow below: https://stackoverflow.com/questions/47780355/cuda-compiling-error-after-installing-it

and also modify the CUDA settings type host_config.h to set _MSC_VER > 1912 like below:

https://devtalk.nvidia.com/default/topic/1022887/cuda-not-working-with-vs-2017-update-/

After do those procedure, I only have one compile error on IDE: 2018-02-01 10 25 18

the C2280 error: attempting to reference a deleted function in D3D11Canvas3D.h. The D3D11Canvas3D.h is the mLib I download from here:

https://github.com/niessner/mLib/issues

Is I using wrong version mLib cause these error? I have no idea how to fix it...

rayhero avatar Feb 01 '18 02:02 rayhero

@rayhero how have you set up your mLib in your hierarchy?

BundleFusion-master/
  external/
    mLib/ # this is the submodule you replaced
      data/
      src/
      [...]
  FriedLiver/
    [...]
    FriedLiver.sln
    [...]
mLibExternal/ # you downloaded this from Dropbox
  include
  libsWindows
  [...]

Use that ^ from: https://github.com/niessner/BundleFusion/issues/10#issuecomment-325975690

adammpolak avatar Feb 01 '18 04:02 adammpolak

@adammpolak Yes, I did. I follow your advise: https://bericht.neopostmodern.com/posts/artist-guide-to-bundlefusion

But I still stuck in C2280 error...I search related reason show that some old project build by VS2013 will have similar problem in VS 2015/VS2017. How can you success build in VS2017 with CUDA9.1? I really need you help...

rayhero avatar Feb 01 '18 07:02 rayhero

Finally I let the build successful by roll back to VS2013 + CUDA8...

rayhero avatar Feb 01 '18 08:02 rayhero

Hi @adammpolak, I've managed to compile with CUDA 9.1 and VS 2017 as you've described. Thank you! Nevertheless, when I run the code, with the copyroom.sens data, for example, I'm getting the following runtime error: CUDASolverBundling.cpp(135) : cutilcheckmsg() CUTIL DATA error : CUDASolverBundling::CUDASolverBundling : (13) invalid device symbol

Can you assist with that? BTW, I've also compiled it successfully with CUDA 7 and VS 2013 and the same error appeared. Thank you, Guy

guyrap avatar Feb 23 '18 23:02 guyrap

Have you edited the z files?

On Fri, Feb 23, 2018 at 6:34 PM guyrap [email protected] wrote:

Hi @adammpolak https://github.com/adammpolak, I've managed to compile with CUDA 9.1 and VS 2017 as you've described. Thank you! Nevertheless, when I run the code, with the copyroom.sens data, for example, I'm getting the following runtime error: CUDASolverBundling.cpp(135) : cutilcheckmsg() CUTIL DATA error : CUDASolverBundling::CUDASolverBundling : (13) invalid device symbol

Can you assist with that? BTW, I've also compiled it successfully with CUDA 7 and VS 2013 and the same error appeared. Thank you, Guy

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHub https://github.com/niessner/BundleFusion/issues/19#issuecomment-368169903, or mute the thread https://github.com/notifications/unsubscribe-auth/AMV02xtmUeUj5ej37z2l-6bLtXBNfwkrks5tX0sZgaJpZM4RtU8M .

--

Adam Polak

Product Manager, Citrusbyte

Phone: 203 536 0962 www.citrusbyte.com https://citrusbyte.com/

adammpolak avatar Feb 23 '18 23:02 adammpolak

Hi Adam, I did updated the z files according to previous posts: s_sensorIdx = 8; s_binaryDumpSensorFile = "\path\to\copyroom.sens";

I've also reduced the number of images to decrease memory footprint and adjusted the subMapSize accordingly: s_maxNumImages = 200; //1200 s_submapSize = 30;

Best, Guy

guyrap avatar Feb 24 '18 00:02 guyrap

@guyrap hey sorry were you able to resolve your issue?

adammpolak avatar Mar 09 '18 18:03 adammpolak

Hi @adammpolak, actually I've managed to resolve the issue by changing CUDA code generation flags to compute_30,sm_30 (I have a slightly older GPU). It has been running smoothly since then. Thank you! Guy

guyrap avatar Mar 09 '18 18:03 guyrap

@rayhero , Hello, I also meet C2280 error , and I use mLib to build the bundlefusion project by VS2015 + CUDA9.1. Could you tell me how to rebuild the libraries from mLibExternal ? Thank you !

psyduck04 avatar Jul 16 '18 12:07 psyduck04

@adammpolak 1. I try to compile the bundle fusion project using VS 2017 and got the following error,

bundle_fusion_2017_error_1

2.And also I tried with the new mlib using VS 2017 but got the following error, I have followed your steps to compile the bundle fusion project using VS 2017 ,Could you please give me some suggestion on how to solve this issue

eigen_error_bundle

Thankyou

chethanab16 avatar Sep 18 '20 06:09 chethanab16

@rayhero @adammpolak @94zhaofang @guyrap Hi, Anybody successfully compiled Bundle Fusion with VS 2017

chethanab16 avatar Sep 24 '20 07:09 chethanab16