Comments (30)
@povmaniaco I opened a new bug report, #69, regarding the OptiX modules creation failing, as it is a different issue to the ones reported here.
from pbrt-v4.
This is very strange. The nvcc compile line has the correct include for CUDA 11.1 and include/cuda_fp16.h does have the definition for "__half_as_short" but not "__half_as_ushort". Is this a known change for CUDA 11.1?
from pbrt-v4.
__half_to_ushort was indeed found in cuda_fp16.h
from pbrt-v4.
The reason i guessed that PBRT_IS_GPU_CODE macro isn't defined.
from pbrt-v4.
None of the macros are actually defined, which is weird cause they definitely were when I tested locally. Which version of Visual Studio and CMake are you using?
Does it help if you replace in CMakeLists.txt (around line 213)
target_compile_definitions("${lib_name}" PRIVATE ${PBRT_DEFINITIONS})
by
set (cuda_definitions)
foreach (arg ${PBRT_DEFINITIONS})
list (APPEND cuda_definitions "--define-macro=${arg}")
endforeach ()
target_compile_options("${lib_name}" PRIVATE ${cuda_definitions})
from pbrt-v4.
from pbrt-v4.
from pbrt-v4.
from pbrt-v4.
Now I'm seeing a slew of dllimport errors in OpenEXR. My guess is that this is a similar problem to the above where OPENEXR_DLL is set incorrectly or inconsistently. I can resolve this in two ways:
- Set OPENEXR_BUILD_SHARED_LIBS in CMake
- Modify the following files:
src/ext/openexr/OpenEXR/IlmImf/ImfExports.h
//#if defined(OPENEXR_DLL)
// #if defined(ILMIMF_EXPORTS)
// #define IMF_EXPORT __declspec(dllexport)
// #define IMF_EXPORT_CONST extern __declspec(dllexport)
// #else
// #define IMF_EXPORT __declspec(dllimport)
// #define IMF_EXPORT_CONST extern __declspec(dllimport)
// #endif
//#else
#define IMF_EXPORT
#define IMF_EXPORT_CONST extern const
//#endif
src/ext/openexr/OpenEXR/IlmImfUtil/ImfUtilExports.h
This resolves the build. I can then run without --gpu and generate correct images. When I run it with --gpu I get (with the debug version):
$ pbrt --gpu killeroo-gold.pbrt
pbrt version 4 (built Oct 16 2020 at 20:13:53)
Copyright (c)1998-2020 Matt Pharr, Wenzel Jakob, and Greg Humphreys.
The source code to pbrt (but not the book contents) is covered by the Apache 2
.0 License.
See the file LICENSE.txt for the conditions of the license.
Rendering: [ ] (0.1s|?s) [ 12220.000
20201017.020316 C:/cygwin64/home/goodin/pbrt-v4/src/pbrt/gpu/accel.cpp:1058 ] F
ATAL CUDA error: unspecified launch failure
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x0000000000000001 -
(unknown ) 0x00007FFA7EC17020 - BaseThreadI
nitThunk
(unknown ) 0x00007FFA8077CEA0 - RtlUserThre
adStart
I'm also not seeing debug information either. I suspect this might be the same launch failures others have seen.
from pbrt-v4.
When you build locally do you use the ext version of OpenEXR included with PBRT or do you have a preinstalled library and skip building it for PBRT?
I use the included version of OpenEXR and do run into those compile failures of dllimport. The workaround I found, when it happens, is to
- open CMakeLists.txt
- save it (without making any changes)
- start building the project again
and it now builds find for whatever reason.
So it builds fine locally if using the built-in CMake support, but fails if generating a Visual Studio solution using CMake. The former uses the Ninja build system whereas the latter uses MSBuils, but I can see that both build files to include all the defines though they do not appear in the executed command-line when using the Visual Studio solution, for some reason.
from pbrt-v4.
from pbrt-v4.
Hi.. I have too some issues here using CUDA 11.0 / Optix 7.1 under Windows 10 / MSVC 2019. Without CUDA the code runs fine..
from pbrt-v4.
Could you please give the code in #65 a try? It is the same workaround as mentioned earlier but restricted to Visual Studio as after some investigation, the issue seems to lie in the Visual Studio CUDA integration.
from pbrt-v4.
10>D:\BUILDS\pbrtcuda>"D:/CUDA/v11.0\bin\nvcc.exe" -gencode=arch=compute_61,code=\"sm_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64" -x cu -ID:\CUDA\v11.0\include -ID:\CUDA\OptiXSDK71\include -I"E:\devs\repos\pbrt-v4\src" -ID:\BUILDS\pbrtcuda -I"E:\devs\repos\pbrt-v4\src\ext\openvdb\nanovdb" -ID:/CUDA/v11.0\include --keep-dir x64\Release -maxrregcount=128 --machine 64 -ptx -cudart static -Xcudafe --diag_suppress=partial_override -Xcudafe --diag_suppress=virtual_function_decl_hidden -Xcudafe --diag_suppress=integer_sign_change -Xcudafe --diag_suppress=declared_but_not_referenced -Xcudafe --diag_suppress=implicit_return_from_non_void_function --expt-relaxed-constexpr --extended-lambda -Xnvlink -suppress-stack-size-warning --forward-unknown-to-host-compiler --std=c++17 -lineinfo -Xcudafe=--display_error_number -Xcudafe=--diag_suppress=3089 --define-macro=NDEBUG --define-macro=PBRT_IS_MSVC --define-macro=_CRT_SECURE_NO_WARNINGS --define-macro=PBRT_IS_WINDOWS --define-macro=NOMINMAX --define-macro=PBRT_BUILD_GPU_RENDERER --define-macro=NVTX --define-macro=PBRT_HAS_INTRIN_H --define-macro=PBRT_NOINLINE=__declspec(noinline) --define-macro=PBRT_HAVE__ALIGNED_MALLOC /wd4244 /wd4267 /wd4305 /wd4334 /wd4018 /wd4996 /wd4309 -Xcompiler="/EHsc -Ob2" -o optix.cu.dir\Release\optix.ptx "E:\devs\repos\pbrt-v4\src\pbrt\gpu\optix.cu"
10>nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
10>C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\MSBuild\Microsoft\VC\v160\BuildCustomizations\CUDA 11.0.targets(772,9): error MSB3721: The command ""D:/CUDA/v11.0\bin\nvcc.exe" -gencode=arch=compute_61,code=\"sm_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64" -x cu -ID:\CUDA\v11.0\include -ID:\CUDA\OptiXSDK71\include -I"E:\devs\repos\pbrt-v4\src" -ID:\BUILDS\pbrtcuda -I"E:\devs\repos\pbrt-v4\src\ext\openvdb\nanovdb" -ID:/CUDA/v11.0\include --keep-dir x64\Release -maxrregcount=128 --machine 64 -ptx -cudart static -Xcudafe --diag_suppress=partial_override -Xcudafe --diag_suppress=virtual_function_decl_hidden -Xcudafe --diag_suppress=integer_sign_change -Xcudafe --diag_suppress=declared_but_not_referenced -Xcudafe --diag_suppress=implicit_return_from_non_void_function --expt-relaxed-constexpr --extended-lambda -Xnvlink -suppress-stack-size-warning --forward-unknown-to-host-compiler --std=c++17 -lineinfo -Xcudafe=--display_error_number -Xcudafe=--diag_suppress=3089 --define-macro=NDEBUG --define-macro=PBRT_IS_MSVC --define-macro=_CRT_SECURE_NO_WARNINGS --define-macro=PBRT_IS_WINDOWS --define-macro=NOMINMAX --define-macro=PBRT_BUILD_GPU_RENDERER --define-macro=NVTX --define-macro=PBRT_HAS_INTRIN_H --define-macro=PBRT_NOINLINE=__declspec(noinline) --define-macro=PBRT_HAVE__ALIGNED_MALLOC /wd4244 /wd4267 /wd4305 /wd4334 /wd4018 /wd4996 /wd4309 -Xcompiler="/EHsc -Ob2" -o optix.cu.dir\Release\optix.ptx "E:\devs\repos\pbrt-v4\src\pbrt\gpu\optix.cu"" exited with code 1.
No luck..
from pbrt-v4.
Why are you getting the warnings flags "/wd4244 /wd4267 /wd4305 /wd4334 /wd4018 /wd4996 /wd4309" in there? 😲 Can you please share your CMakeLists.txt file?
from pbrt-v4.
This are an attempt to silent a massive OpenEXR related warnings under Windows
from pbrt-v4.
To expand on my previous comment, "/wd4305" and co are only added when CUDA support is disabled in which case optix.cu should not be compiled, so there is already something weird going on there.
Also, "/wd4305" and co are only added to PBRT_CXX_FLAGS
which is never used to compile optix.cu.
This are an attempt to silent a massive OpenEXR related warnings under Windows
Ah, I see. Please remove them as those flags are Visual Studio specific and nvcc ends up interpreting them as input files rather than flags, leading to the error message you got. You might be able to keep them if you also add "--forward-unknown-to-host-compiler".
from pbrt-v4.
I have cloned the master branch again to other folder to do a clean compilation, then I have added its patch for CMakeLists.txt
but I keep getting the same message and the definitions for /wdxxx keep popping up...
D:\BUILDS\pbrt-v4>"D:/CUDA/v11.0\bin\nvcc.exe" -gencode=arch=compute_61,code=\"sm_61,compute_61\" --use-local-env -ccbin "C:\Program Files (x86)\Microsoft Visual Studio\2019\Community\VC\Tools\MSVC\14.27.29110\bin\HostX64\x64" -x cu -ID:\CUDA\v11.0\include -ID:\CUDA\OptiXSDK71\include -I"D:\REPOS\pbrt-v4\src" -I"D:\BUILDS\pbrt-v4" -I"D:\REPOS\pbrt-v4\src\ext\openvdb\nanovdb" -ID:/CUDA/v11.0\include --keep-dir x64\Release -maxrregcount=128 --machine 64 -ptx -cudart static -Xcudafe --diag_suppress=partial_override -Xcudafe --diag_suppress=virtual_function_decl_hidden -Xcudafe --diag_suppress=integer_sign_change -Xcudafe --diag_suppress=declared_but_not_referenced -Xcudafe --diag_suppress=implicit_return_from_non_void_function --expt-relaxed-constexpr --extended-lambda -Xnvlink -suppress-stack-size-warning --forward-unknown-to-host-compiler --std=c++17 -lineinfo -Xcudafe=--display_error_number -Xcudafe=--diag_suppress=3089 --define-macro=NDEBUG --define-macro=PBRT_IS_MSVC --define-macro=_CRT_SECURE_NO_WARNINGS --define-macro=PBRT_IS_WINDOWS --define-macro=NOMINMAX --define-macro=PBRT_BUILD_GPU_RENDERER --define-macro=NVTX --define-macro=PBRT_HAS_INTRIN_H --define-macro=PBRT_NOINLINE=__declspec(noinline) --define-macro=PBRT_HAVE__ALIGNED_MALLOC /wd4244 /wd4267 /wd4305 /wd4334 /wd4018 /wd4996 /wd4309 -Xcompiler="/EHsc -Ob2" -o optix.cu.dir\Release\optix.ptx "D:\REPOS\pbrt-v4\src\pbrt\gpu\optix.cu"
10>nvcc fatal : A single input file is required for a non-link phase when an outputfile is specified
from pbrt-v4.
After a search inside the repo, /wd4244 is added from /src/ext/ptex/CMakeLists.txt
, from line 30 to line 41, out of the if (MSVC AND NOT PBRT_CUDA_ENABLED)
flags..
from pbrt-v4.
I'm sorry. Forget the comment above, I think I have discovered the source of the problem. I need make some test..
from pbrt-v4.
Ok. now is build OK here with CUDA support, but fail when try to execute with --gpu flag
[ 14500.000 20201022.103455 D:/REPOS/pbrt-v4/src/pbrt/gpu/accel.cpp:610 ] FATAL OptiX call optixModuleCreateFromPTX(optixContext, &moduleCompileOptions, &pipelineCompileOptions, ptxCode.c_str(), ptxCode.size(), log, &logSize, &optixModule) failed with code 7299: "Internal compiler error"
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x5672656E6961746E - X�
(unknown ) 0x00007FF91E817C10 - BaseThreadInitThunk
(unknown ) 0x00007FF91E96CE80 - RtlUserThreadStart
from pbrt-v4.
I am getting the same error when trying to run it; from a very quick look at the PTX code passed to optixModuleCreateFromPTX()
in gpu/accel.cpp, the PTX looks correct.
For reference, here is the output I get (with the debug symbols, and I modified OPTIX_CHECK()
to also print the log retrieved from OptiX for the module creation:
pbrt version 4 (built Oct 22 2020 at 10:47:31)
Copyright (c)1998-2020 Matt Pharr, Wenzel Jakob, and Greg Humphreys.
The source code to pbrt (but *not* the book contents) is covered by the Apache 2.0 License.
See the file LICENSE.txt for the conditions of the license.
[ 3656.000 20201022.131136 D:\Softwares\pbrt-v4\src\pbrt\util\parallel.cpp:113 ] VERBOSE Started execution in worker thread 2
[ 14800.000 20201022.131136 D:\Softwares\pbrt-v4\src\pbrt\util\parallel.cpp:113 ] VERBOSE Started execution in worker thread 1
[ 14276.000 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:34 ] VERBOSE GPU CUDA driver 11.1, CUDA runtime 11.1
[ 17896.000 20201022.131136 D:\Softwares\pbrt-v4\src\pbrt\util\parallel.cpp:113 ] VERBOSE Started execution in worker thread 3
[ 3656.002 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:93 ] VERBOSE Selecting GPU device 0
[ 14800.001 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:93 ] VERBOSE Selecting GPU device 0
[ 14276.000 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:53 ] VERBOSE CUDA device 0 (GeForce RTX 2080 Ti) with 11264 MiB, 68 SMs running at 1665 MHz with shader model 7.5
[ 17896.003 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:93 ] VERBOSE Selecting GPU device 0
[ 14276.000 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:66 ] VERBOSE Selecting GPU device 0
[ 14276.000 20201022.131136 D:/Softwares/pbrt-v4/src/pbrt/gpu/init.cpp:82 ] VERBOSE Reset stack size to 8192
[ 14276.000 20201022.131137 D:\Softwares\pbrt-v4\src\pbrt\parser.cpp:121 ] VERBOSE Creating Tokenizer for D:\3D_scenes\pbrt-v4-scenes\killeroos\killeroo-gold.pbrt
[ 14276.000 20201022.131137 D:\Softwares\pbrt-v4\src\pbrt\parser.cpp:121 ] VERBOSE Creating Tokenizer for D:\3D_scenes\pbrt-v4-scenes\killeroos\geometry\killeroo3.pbrt
[ 14276.000 20201022.131137 D:\Softwares\pbrt-v4\src\pbrt/film.h:189 ] VERBOSE Created film with full resolution [ 1368, 1026 ], pixelBounds [ [ 0, 0 ] - [ 1368, 1026 ] ]
[ 14276.000 20201022.131138 D:/Softwares/pbrt-v4/src/pbrt/cameras.cpp:231 ] VERBOSE Camera min pos differentials: [ 0, 0, -0 ], [ 0, 0, -0 ]
[ 14276.000 20201022.131138 D:/Softwares/pbrt-v4/src/pbrt/cameras.cpp:233 ] VERBOSE Camera min dir differentials: [ 0.00045337528, 0.00028195977, -1.1920929e-7 ], [ 0.00022663176, -0.0005072057, -1.1920929e-7 ]
[ 14276.000 20201022.131138 D:/Softwares/pbrt-v4/src/pbrt/gpu/accel.cpp:583 ] VERBOSE Optix successfully initialized
[ 14276.000 20201022.131211 D:/Softwares/pbrt-v4/src/pbrt/gpu/accel.cpp:622 ] FATAL OptiX call optixModuleCreateFromPTX(optixContext, &moduleCompileOptions, &pipelineCompileOptions, ptxCode.c_str(), ptxCode.size(), log, &logSize, &optixModule) failed with code 7299: "Internal compiler error"
COMPILE ERROR: Module compilation failed
Info: Pipeline parameter "params" size is 80 bytes
Info: Module uses 3 payload values. Pipeline configuration: 3.
Info: Module uses 4 attribute values. Pipeline configuration: 4.
Info: Entry function "__raygen__findClosest" with semantic type RAYGEN has 1 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 10 basic block(s), 692 instruction(s)
Info: Entry function "__miss__noop" with semantic type MISS has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 2 basic block(s), 3 instruction(s)
Info: Entry function "__closesthit__triangle" with semantic type CLOSESTHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 472 basic block(s), 9043 instruction(s)
Info: Entry function "__anyhit__triangle" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 275 basic block(s), 2992 instruction(s)
Info: Entry function "__anyhit__shadowTriangle" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 280 basic block(s), 3015 instruction(s)
Info: Entry function "__raygen__shadow" with semantic type RAYGEN has 1 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 8 basic block(s), 168 instruction(s)
Info: Entry function "__miss__shadow" with semantic type MISS has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 2 basic block(s), 3 instruction(s)
Info: Entry function "__raygen__shadow_Tr" with semantic type RAYGEN has 1 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 1055 basic block(s), 11022 instruction(s)
Info: Entry function "__miss__shadow_Tr" with semantic type MISS has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 2 basic block(s), 3 instruction(s)
Info: Entry function "__closesthit__quadric" with semantic type CLOSESTHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 655 basic block(s), 9671 instruction(s)
Info: Entry function "__anyhit__shadowQuadric" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 7 basic block(s), 27 instruction(s)
Info: Entry function "__intersection__quadric" with semantic type INTERSECTION has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 2318 basic block(s), 20913 instruction(s)
Info: Entry function "__closesthit__bilinearPatch" with semantic type CLOSESTHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 266 basic block(s), 6556 instruction(s)
Info: Entry function "__anyhit__shadowBilinearPatch" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 7 basic block(s), 27 instruction(s)
Info: Entry function "__intersection__bilinearPatch" with semantic type INTERSECTION has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 100 basic block(s), 1427 instruction(s)
Info: Entry function "__raygen__randomHit" with semantic type RAYGEN has 1 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 9 basic block(s), 482 instruction(s)
Info: Entry function "__anyhit__randomHitTriangle" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 244 basic block(s), 3146 instruction(s)
Info: Entry function "__anyhit__randomHitBilinearPatch" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 40 basic block(s), 740 instruction(s)
Info: Entry function "__anyhit__randomHitQuadric" with semantic type ANYHIT has 0 trace call(s), 0 continuation callable call(s), 0 direct callable call(s), 427 basic block(s), 3547 instruction(s)
Info: 7 non-entry function(s) have 42 basic block(s), 647 instruction(s)
(D:\Softwares\pbrt-v4\src\pbrt\util\check.cpp) 0x00007FF749EC7EF0 - pbrt::PrintStackTrace + line 120
(D:\Softwares\pbrt-v4\src\pbrt\util\check.cpp) 0x00007FF749EC82B0 - pbrt::CheckCallbackScope::Fail + line 148
(D:\Softwares\pbrt-v4\src\pbrt\util\log.cpp) 0x00007FF749A815F0 - pbrt::LogFatal + line 177
(D:\Softwares\pbrt-v4\src\pbrt\util\log.h) 0x00007FF749A40FF0 - pbrt::LogFatal<int,char const *,char (&)[4096]> + line 112
(D:\Softwares\pbrt-v4\src\pbrt\gpu\accel.cpp) 0x00007FF749FB4D90 - pbrt::GPUAccel::GPUAccel + line 620
(D:\Softwares\pbrt-v4\src\pbrt\gpu\pathintegrator.cpp) 0x00007FF749B37B90 - pbrt::GPUPathIntegrator::GPUPathIntegrator + line 159
(D:\Softwares\pbrt-v4\src\pbrt\gpu\pathintegrator.cpp) 0x00007FF749B375E0 - pbrt::GPURender + line 570
(D:\Softwares\pbrt-v4\src\pbrt\cmd\pbrt.cpp) 0x00007FF749A3F040 - main + line 237
(D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl) 0x00007FF74A3A9950 - invoke_main + line 79
(D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl) 0x00007FF74A3A9700 - __scrt_common_main_seh + line 288
(D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_common.inl) 0x00007FF74A3A96E0 - __scrt_common_main + line 331
(D:\agent\_work\9\s\src\vctools\crt\vcstartup\src\startup\exe_main.cpp) 0x00007FF74A3A9A10 - mainCRTStartup + line 17
(unknown ) 0x00007FF831047020 - BaseThreadInitThunk
(unknown ) 0x00007FF8312FCEA0 - RtlUserThreadStart
Playing around with the PTX source a bit, one problem seems to be the Windows-style line endings used in the PTX file as removing those leads to different errors:
[ 15380.000 20201022.132919 D:/Softwares/pbrt-v4/src/pbrt/gpu/accel.cpp:623 ] FATAL OptiX call optixModuleCreateFromPTX(optixContext, &moduleCompileOptions, &pipelineCompileOptions, ptxCode.c_str(), ptxCode.size(), log, &logSize, &optixModule) failed with code 7200: "Invalid PTX input"
COMPILE ERROR: Invalid PTX input: ptx2llvm-module-001: error: Failed to parse input PTX string
ptx2llvm-module-001, line 9; warning : Unsupported .version 7.1; current version is '6.4'
ptx2llvm-module-001, line 83232; fatal : Parsing error near 'loc': syntax error
Cannot parse input PTX string
I use the following code snippet to get rid of the '\r' though it did not seem to apply to the loc region for some reason.
std::string ptxCode((const char *)PBRT_EMBEDDED_PTX);
ptxCode.erase(std::remove(ptxCode.begin(), ptxCode.end(), '\r'));
Edit: the snippet above was making more changes than just removing the line endings, so disregard the striked-through text.
I will spend some more time on it later today.
from pbrt-v4.
I tried pulling the #65 code. Assuming this is what I need to do to pull the code:
git fetch origin pull/65/head:number65
the build still fails. touching CMakeLists.txt still resolves the build problems. Still getting the same launch failure.
from pbrt-v4.
The OpenEXR build issue should not be affected by #65, sadly, so that issue still remains.
Edit: #65 has been merged in, so you can try directly with the latest master.
It is interesting that you do not suffer from the OptiX module creation that @povmaniaco and I are experiencing, but instead have a failure further down the line. Which driver version are you on, and are you still on OptiX 7.1.0?
from pbrt-v4.
from pbrt-v4.
I am running sm86, that might be a difference...
from pbrt-v4.
Ah, true. I'm on 456.80 and was using OptiX 7.1, tried 7.2 but it did not help.
from pbrt-v4.
It seems that #95 took care of the OpenEXR build failure. I believe all other compilation errors had already been taken care of, so this could be closed now?
from pbrt-v4.
I still have to touch CMakeLists.txt but then the build succeeds. It still doesn't run under Windows but the build works. We can close this.
from pbrt-v4.
Unfortunately I don't have the bandwidth to debug Windows GPU support at the moment and am unlikely to be able to for a few months. I have therefore updated the build so that building with GPU support on Windows is prohibited for now. Needless to say, PRs to fix this would be highly welcome. :-)
from pbrt-v4.
Related Issues (20)
- Illegal memory was encountered when mixed textures are used.
- build pbrt in Windows with CUDA errors HOT 3
- Denoiser not being initialized for OptiX 8.0.0
- GPU compiling error with -DPBRT_FLOAT_AS_DOUBLE HOT 1
- Periodic Radiance Values for Spectral Render
- spectrum.h not defined in the pbrt/base
- gpu runs failing: Invalid PTX input HOT 1
- Build issue vs 2022 cuda 12.5 optix 7.7 win 11 HOT 3
- Final image is black when using GPU HOT 2
- GPU rendering not working with MSCV Version 14.40 and newer HOT 1
- A question about CUDA constant memory initialization. HOT 1
- Trouble replicating Radiance results with diffusive materials HOT 2
- Compiling Error aggregate.cpp with optix7 and NVCC 12.5 and GCC 11.4 in Ubuntu 22.04 HOT 2
- simple scattering scene for simplevolpath HOT 2
- Equivalent of Kt and Kr in dielectric material? HOT 3
- Build errors using Linux (both with gcc 13.2.1 and clang 17.0.6) HOT 2
- Default parameters with sample Crown scene is noisy HOT 1
- `pbrt/gpu` and `pbrt/wavefront` compilation fails HOT 1
- Docker file in Ubuntu
- pbrt_exe (Release) crashing HOT 12
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.
from pbrt-v4.