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

Jitify2 parsing and preprocessing overhaul #131

Draft
wants to merge 24 commits into
base: jitify2
Choose a base branch
from

Conversation

benbarsdell
Copy link
Member

  • Replaces C++ lexing/parsing/patching code with a proper lexer implementation, which significantly improves robustness and maintainability.
  • Replaces minification logic with robust token-based minification.
  • Replaces preprocessing logic with a new approach that uses custom parsing to find include directives. This only requires invoking NVRTC (and only its preprocessor) once per preprocess, which speeds up preprocessing by 50x in some cases.
  • Fixes include directory handling. Relative include paths are now handled robustly, and there is no longer any ambiguity between external and built-in headers. Note that relative paths (including in -I options) now start from the current executable directory instead of the current working directory.
  • These changes should be almost completely backwards compatible.

Fixes #90 and #107.

(This PR requires #128 and #129 to be merged first).

- This avoids "incompatible redefinition" errors.
- Adds launch_raw() methods to replace overloads that take array of
  arg pointers, which were dangerously ambiguous with the variadic
  overload.
- Adds explicit no-argument overload of launch() to avoid forming
  zero-sized array.
- This matches the definitions in libcucxx.
- Refactors all options handling to use a single parser implementation
  and new Options and OptionsVec classes.
- This makes the code significantly cleaner and more robust.
- Maintains backwards compatibility with string vectors at API
  boundaries via implicit conversions.
- Replaces C++ lexing/parsing/patching code with a proper lexer
  implementation, which significantly improves robustness and
  maintainability.
- Replaces minification logic with robust token-based minification.
- Replaces preprocessing logic with a new approach that uses custom
  parsing to find include directives. This only requires invoking
  NVRTC (and only its preprocessor) once per preprocess, which speeds
  up preprocessing by 50x in some cases.
- Fixes include directory handling. Relative include paths are now
  handled robustly, and there is no longer any ambiguity between
  external and built-in headers. Note that relative paths (including
  in -I options) now start from the current executable directory
  instead of the current working directory.
- These changes should be almost completely backwards compatible.
@Robadob
Copy link
Contributor

Robadob commented Nov 15, 2023

Fixes #90

#90 refers to Jitify1.

I take it this is in response to the performance regression between CUDA 12.1 and 12.2 (in a test case I've been investigating calls to nvrtcCompileProgram() have jumped from 20 to 246, increasing RTC time by 10x.

I've not looked significantly into Jitify2 since I created #90, I presume it's now worth me looking more seriously into the viability of migrating our code to use Jitify2.

@benbarsdell
Copy link
Member Author

@Robadob This is actually not in response to that issue; I only just became aware of it and do not know the root cause (possibly some header hierarchy changed and became pathological for Jitify).

All significant new work is expected to be on Jitify2, so I would encourage you to migrate, and would be happy to answer any questions that come up.

@Robadob
Copy link
Contributor

Robadob commented Nov 15, 2023

This is actually not in response to that issue; I only just became aware of it and do not know the root cause (possibly some header hierarchy changed and became pathological for Jitify).

Fair, the timing must just be a coincidence. I assume the same re: header-hierarchy, but I haven't looked into it too deeply beyond tracking the number of calls to nvrtc compile program.

I would encourage you to migrate, and would be happy to answer any questions that come up.

I'm now planning to explore the migration today (having discussed it with my team), will create a new issue if I have any problems.

Edit: Have managed to migrate to jitify2 branch, which works with CUDA 12.0 on both Windows/Linux. Not yet implemented serialisation/deserialisation (it's now earlier than I expected, need to check the impact that has on cache size and time from cache). Couldn't get it to work with CUDA 12.3 (on Linux), but not yet tried misc fixes branch.

jitify2.hpp Outdated
*full_path = include.nonlocal_full_path(kJitifyCallbackHeaderPrefix);
*full_path = path_simplify(*full_path);
if (already_loaded(*full_path)) return HeaderLoadStatus::kAlreadyLoaded;
if (header_callback and header_callback(include, &source)) {
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
if (header_callback and header_callback(include, &source)) {
if (header_callback && header_callback(include, &source)) {

I've been doing our migration with this branch, this line errors in Visual Studio 2022.

case '"': return in_include_directive_ ? quote_include() : string();
case 'u': match('8');
// fall-through
[[gnu::fallthrough]]; // Not sure why gcc complains here without this
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
[[gnu::fallthrough]]; // Not sure why gcc complains here without this
#ifdef __GNUC__
[[gnu::fallthrough]]; // Not sure why gcc complains here without this
#endif

Visual Studio 2022
jitify2.hpp(6192): warning C5030: attribute 'gnu::fallthrough' is not recognized

@@ -100,16 +103,19 @@
#endif

#include <algorithm>
Copy link
Contributor

@Robadob Robadob Nov 15, 2023

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Suggested change
#include <algorithm>
#include <algorithm>
#include <array>

Incomplete type jitify2.hpp:6549 (std::array<value_type, Size> data_ = {};) under visual studio 2022.

jitify2.hpp Outdated
Token new_tokens[kMaxNewTokens];
int j = 0;
Iterator before_where = where;
--before_where;
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Assertion here under Visual Studio 2022 Cannot decrement begin iterator.

The begin iterator is coming from jitify2::parser::process_cuda_source()s first call to insert_directive();

Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Fiddling with the code (e.g. removing this line), later had a line below assert Cannot deref end iterator when the same insert_directive() was being called from with .end().

I have however got jitify2 branch working, see an edit to my earlier comment.

@benbarsdell benbarsdell force-pushed the jitify2-preprocessing-overhaul branch from e1334e5 to 128e055 Compare November 21, 2023 10:34
@benbarsdell
Copy link
Member Author

@Robadob Thanks for the help with this. I've pushed fixes for the issues you identified as well as some more that I found with manylinux2014.

@Robadob
Copy link
Contributor

Robadob commented Nov 21, 2023

Visual Studio 2022 (CUDA 12.0)
Still got the compilation warnings (though I think they're present in jitify2 branch)

Log
Warning:      1>D:\a\FLAMEGPU2\FLAMEGPU2\build\_deps\jitify-src\jitify\jitify2.hpp(3201): warning C4701: potentially uninitialized local variable 'cc_major' used [D:\a\FLAMEGPU2\FLAMEGPU2\build\FLAMEGPU\flamegpu.vcxproj]
Warning:      1>D:\a\FLAMEGPU2\FLAMEGPU2\build\_deps\jitify-src\jitify\jitify2.hpp(3201): warning C4701: potentially uninitialized local variable 'cc_minor' used [D:\a\FLAMEGPU2\FLAMEGPU2\build\FLAMEGPU\flamegpu.vcxproj]
3>C:\Program Files\Microsoft Visual Studio\2022\Community\VC\Tools\MSVC\14.36.32532\include\algorithm(3456): warning C4244: '=': conversion from 'int' to 'char', possible loss of data
3>C:\Users\Robert\fgpu2\fgpu2\build\_deps\jitify-src\jitify/jitify2.hpp(2362): note: see reference to function template instantiation '_OutIt std::transform<std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,std::_String_iterator<std::_String_val<std::_Simple_types<_Elem>>>,jitify2::detail::is_true_value::<lambda_1c4b3a884b5a8315db7fcb8afefb2bc5>>(const _InIt,const _InIt,_OutIt,_Fn)' being compiled
3>        with
3>        [
3>            _OutIt=std::_String_iterator<std::_String_val<std::_Simple_types<char>>>,
3>            _Elem=char,
3>            _InIt=std::_String_iterator<std::_String_val<std::_Simple_types<char>>>,
3>            _Fn=jitify2::detail::is_true_value::<lambda_1c4b3a884b5a8315db7fcb8afefb2bc5>
3>        ]

jitify2::Program::preprocess() fails to find stdlib.h included by cuda.h.

Log
Compilation failed: NVRTC_ERROR_COMPILATION
Compiler options: "-DFLAMEGPU_CURAND_Philox4_32_10 --device-debug -DDEBUG --define-macro=FLAMEGPU_SEATBELTS=1 --pre-include=C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include//cuda.h -include=jitify_preinclude.h -std=c++11 -default-device -no-source-include -arch=compute_86 -DJITIFY_PREPROCESS_ONLY -DJITIFY_USED_HEADER_WARNINGS"
Found #include "flamegpu/runtime/DeviceAPI.cuh" from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/outputdata_program:1 at:
  C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/DeviceAPI.cuh
Found #include "flamegpu/runtime/messaging/MessageNone/MessageNoneDevice.cuh" from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/outputdata_program:2 at:
  C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/messaging/MessageNone/MessageNoneDevice.cuh
Found #include "flamegpu/runtime/messaging/MessageSpatial3D/MessageSpatial3DDevice.cuh" from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/outputdata_program:3 at:
  C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/messaging/MessageSpatial3D/MessageSpatial3DDevice.cuh
Found #include <cstring> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/exception/FLAMEGPUDeviceException_device.cuh:7 at:
  __jitify_builtin/cstring
Found #include <string> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/exception/FLAMEGPUDeviceException.cuh:4 at:
  __jitify_builtin/string
Found #include <type_traits> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/exception/FLAMEGPUDeviceException.cuh:5 at:
  __jitify_builtin/type_traits
Found #include <string> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/detail/curve/Curve.cuh:5 at:
  __jitify_builtin/string
Found #include <cassert> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/DeviceAPI.cuh:5 at:
  __jitify_builtin/cassert
Found #include <cstdint> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/DeviceAPI.cuh:6 at:
  __jitify_builtin/cstdint
Found #include <limits> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/DeviceAPI.cuh:7 at:
  __jitify_builtin/limits
Found #include <cstdint> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/detail/StaticAssert.h:4 at:
  __jitify_builtin/cstdint
Found #include <string> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/messaging/MessageBucket.h:6 at:
  __jitify_builtin/string
Found #include <limits> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/random/AgentRandom.cuh:4 at:
  __jitify_builtin/limits
Found #include <string> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/environment/DeviceEnvironment.cuh:5 at:
  __jitify_builtin/string
Found #include <cassert> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/environment/DeviceEnvironment.cuh:6 at:
  __jitify_builtin/cassert
Found #include <cstdint> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:4 at:
  __jitify_builtin/cstdint
Found #include <limits> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:5 at:
  __jitify_builtin/limits
Found #include <algorithm> from C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:6 at:
  __jitify_builtin/algorithm
Found #include <climits> from __jitify_builtin/cstdint:3 at:
  __jitify_builtin/climits
Found #include <cfloat> from __jitify_builtin/limits:3 at:
  __jitify_builtin/cfloat
Found #include <climits> from __jitify_builtin/limits:4 at:
  __jitify_builtin/climits
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include//cuda.h(55): catastrophic error: could not open source file "stdlib.h" (no directories in search list)

1 catastrophic error detected in the compilation of "outputdata_program".
Compilation terminated.

gcc (Ubuntu 10.5.0-1ubuntu1~20.04) 10.5.0 (CUDA 12.3)
jitify2::Program::preprocess() fails to find dynamic/curve_rtc_dynamic.h.
This is a dynamic header we pass to the constructor of jitify2::Program

    // get the dynamically generated header from curve rtc
    headers.emplace("dynamic/curve_rtc_dynamic.h", dynamic_header);

    getKnownHeaders(flamegpu_include_dir, headers);  // Temp hack that prespecifies known headers

    // jitify to create program (with compilation settings)
    const std::string program_name = func_name + "_program";  // Does this name actually matter?
    jitify2::PreprocessedProgram program = jitify2::Program(program_name, kernel_src, headers)->preprocess(options);
    if (!program.ok()) {
Log
Compilation failed: NVRTC_ERROR_COMPILATION
Compiler options: "-DFLAMEGPU_CURAND_Philox4_32_10 --device-debug -DDEBUG --std=c++17 --define-macro=FLAMEGPU_SEATBELTS=1 --pre-include=/usr/local/cuda-12.3/include//cuda.h -include=jitify_preinclude.h -default-device -no-source-include -arch=compute_86 -DJITIFY_PREPROCESS_ONLY -DJITIFY_USED_HEADER_WARNINGS"
Found #include "flamegpu/runtime/DeviceAPI.cuh" from /home/rob/FLAMEGPU2/build/bin/Debug/outputdata_program:1 at:
  /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/DeviceAPI.cuh
Found #include "flamegpu/runtime/messaging/MessageNone/MessageNoneDevice.cuh" from /home/rob/FLAMEGPU2/build/bin/Debug/outputdata_program:2 at:
  /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/messaging/MessageNone/MessageNoneDevice.cuh
Found #include "flamegpu/runtime/messaging/MessageSpatial3D/MessageSpatial3DDevice.cuh" from /home/rob/FLAMEGPU2/build/bin/Debug/outputdata_program:3 at:
  /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/messaging/MessageSpatial3D/MessageSpatial3DDevice.cuh
Found #include <cstdint> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/detail/StaticAssert.h:4 at:
  __jitify_builtin/cstdint
Found #include <cstdint> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:4 at:
  __jitify_builtin/cstdint
Found #include <limits> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:5 at:
  __jitify_builtin/limits
Found #include <algorithm> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:6 at:
  __jitify_builtin/algorithm
Found #include <cuda_runtime.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/environment/DeviceMacroProperty.cuh:14 at:
  /usr/local/cuda-12.3/include/cuda_runtime.h
Found #include <cassert> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/DeviceAPI.cuh:5 at:
  __jitify_builtin/cassert
Found #include <cstdint> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/DeviceAPI.cuh:6 at:
  __jitify_builtin/cstdint
Found #include <limits> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/DeviceAPI.cuh:7 at:
  __jitify_builtin/limits
Found #include <driver_types.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/simulation/detail/CUDAScanCompaction.h:3 at:
  /usr/local/cuda-12.3/include/driver_types.h
Found #include <cuda_runtime.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/util/dstring.h:4 at:
  /usr/local/cuda-12.3/include/cuda_runtime.h
Found #include <cuda_runtime.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/exception/FLAMEGPUDeviceException_device.cuh:4 at:
  /usr/local/cuda-12.3/include/cuda_runtime.h
Found #include <device_launch_parameters.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/exception/FLAMEGPUDeviceException_device.cuh:5 at:
  /usr/local/cuda-12.3/include/device_launch_parameters.h
Found #include <cstring> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/exception/FLAMEGPUDeviceException_device.cuh:7 at:
  __jitify_builtin/cstring
Found #include <curand_kernel.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/detail/curand.cuh:8 at:
  /usr/local/cuda-12.3/include/curand_kernel.h
Found #include <string> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/detail/curve/Curve.cuh:5 at:
  __jitify_builtin/string
Found #include <cuda_runtime.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/AgentFunctionCondition.cuh:4 at:
  /usr/local/cuda-12.3/include/cuda_runtime.h
Found #include <device_launch_parameters.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/AgentFunctionCondition.cuh:5 at:
  /usr/local/cuda-12.3/include/device_launch_parameters.h
Found #include <cuda_runtime.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/AgentFunction.cuh:4 at:
  /usr/local/cuda-12.3/include/cuda_runtime.h
Found #include <device_launch_parameters.h> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/AgentFunction.cuh:5 at:
  /usr/local/cuda-12.3/include/device_launch_parameters.h
Found #include <string> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/exception/FLAMEGPUDeviceException.cuh:4 at:
  __jitify_builtin/string
Found #include <type_traits> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/exception/FLAMEGPUDeviceException.cuh:5 at:
  __jitify_builtin/type_traits
Found #include <string> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/messaging/MessageBucket.h:6 at:
  __jitify_builtin/string
Found #include <string> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/environment/DeviceEnvironment.cuh:5 at:
  __jitify_builtin/string
Found #include <cassert> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/environment/DeviceEnvironment.cuh:6 at:
  __jitify_builtin/cassert
Found #include <limits> from /home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime/random/AgentRandom.cuh:4 at:
  __jitify_builtin/limits
Found #include <climits> from __jitify_builtin/cstdint:3 at:
  __jitify_builtin/climits
Found #include <cfloat> from __jitify_builtin/limits:3 at:
  __jitify_builtin/cfloat
Found #include <climits> from __jitify_builtin/limits:4 at:
  __jitify_builtin/climits
Found #include "crt/host_config.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:82 at:
  /usr/local/cuda-12.3/include/crt/host_config.h
Found #include "builtin_types.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:90 at:
  /usr/local/cuda-12.3/include/builtin_types.h
Found #include "library_types.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:91 at:
  /usr/local/cuda-12.3/include/library_types.h
Found #include "channel_descriptor.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:94 at:
  /usr/local/cuda-12.3/include/channel_descriptor.h
Found #include "cuda_runtime_api.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:95 at:
  /usr/local/cuda-12.3/include/cuda_runtime_api.h
Found #include "driver_functions.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:96 at:
  /usr/local/cuda-12.3/include/driver_functions.h
Found #include "crt/host_defines.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:99 at:
  /usr/local/cuda-12.3/include/crt/host_defines.h
Found #include "vector_functions.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:105 at:
  /usr/local/cuda-12.3/include/vector_functions.h
Found #include "crt/device_functions.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:111 at:
  /usr/local/cuda-12.3/include/crt/device_functions.h
Found #include "crt/common_functions.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:112 at:
  /usr/local/cuda-12.3/include/crt/common_functions.h
Found #include "device_launch_parameters.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:113 at:
  /usr/local/cuda-12.3/include/device_launch_parameters.h
Found #include "crt/common_functions.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:117 at:
  /usr/local/cuda-12.3/include/crt/common_functions.h
Found #include "crt/device_functions.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:118 at:
  /usr/local/cuda-12.3/include/crt/device_functions.h
Found #include "device_launch_parameters.h" from /usr/local/cuda-12.3/include/cuda_runtime.h:119 at:
  /usr/local/cuda-12.3/include/device_launch_parameters.h
Found #include <functional> from /usr/local/cuda-12.3/include/cuda_runtime.h:122 at:
  __jitify_builtin/functional
Found #include <utility> from /usr/local/cuda-12.3/include/cuda_runtime.h:123 at:
  __jitify_builtin/utility
Found #include <utility> from /usr/local/cuda-12.3/include/cuda_runtime.h:148 at:
  __jitify_builtin/utility
Found #include "crt/host_defines.h" from /usr/local/cuda-12.3/include/driver_types.h:59 at:
  /usr/local/cuda-12.3/include/crt/host_defines.h
Found #include "vector_types.h" from /usr/local/cuda-12.3/include/driver_types.h:61 at:
  /usr/local/cuda-12.3/include/vector_types.h
Found #include <limits.h> from /usr/local/cuda-12.3/include/driver_types.h:81 at:
  __jitify_builtin/limits.h
Found #include <stddef.h> from /usr/local/cuda-12.3/include/driver_types.h:82 at:
  __jitify_builtin/stddef.h
Found #include "vector_types.h" from /usr/local/cuda-12.3/include/device_launch_parameters.h:53 at:
  /usr/local/cuda-12.3/include/vector_types.h
Found #include <nv/target> from /usr/local/cuda-12.3/include/curand_kernel.h:73 at:
  /usr/local/cuda-12.3/include/nv/target
Found #include <cuda/std/type_traits> from /usr/local/cuda-12.3/include/curand_kernel.h:82 at:
  /usr/local/cuda-12.3/include/cuda/std/type_traits
Found #include <type_traits> from /usr/local/cuda-12.3/include/curand_kernel.h:85 at:
  __jitify_builtin/type_traits
Found #include <math.h> from /usr/local/cuda-12.3/include/curand_kernel.h:106 at:
  __jitify_builtin/math.h
Found #include "curand.h" from /usr/local/cuda-12.3/include/curand_kernel.h:109 at:
  /usr/local/cuda-12.3/include/curand.h
Found #include "curand_discrete.h" from /usr/local/cuda-12.3/include/curand_kernel.h:110 at:
  /usr/local/cuda-12.3/include/curand_discrete.h
Found #include "curand_precalc.h" from /usr/local/cuda-12.3/include/curand_kernel.h:111 at:
  /usr/local/cuda-12.3/include/curand_precalc.h
Found #include "curand_mrg32k3a.h" from /usr/local/cuda-12.3/include/curand_kernel.h:112 at:
  /usr/local/cuda-12.3/include/curand_mrg32k3a.h
Found #include "curand_mtgp32_kernel.h" from /usr/local/cuda-12.3/include/curand_kernel.h:113 at:
  /usr/local/cuda-12.3/include/curand_mtgp32_kernel.h
Found #include "curand_philox4x32_x.h" from /usr/local/cuda-12.3/include/curand_kernel.h:114 at:
  /usr/local/cuda-12.3/include/curand_philox4x32_x.h
Found #include "curand_globals.h" from /usr/local/cuda-12.3/include/curand_kernel.h:115 at:
  /usr/local/cuda-12.3/include/curand_globals.h
Found #include "curand_uniform.h" from /usr/local/cuda-12.3/include/curand_kernel.h:1593 at:
  /usr/local/cuda-12.3/include/curand_uniform.h
Found #include "curand_normal.h" from /usr/local/cuda-12.3/include/curand_kernel.h:1594 at:
  /usr/local/cuda-12.3/include/curand_normal.h
Found #include "curand_lognormal.h" from /usr/local/cuda-12.3/include/curand_kernel.h:1595 at:
  /usr/local/cuda-12.3/include/curand_lognormal.h
Found #include "curand_poisson.h" from /usr/local/cuda-12.3/include/curand_kernel.h:1596 at:
  /usr/local/cuda-12.3/include/curand_poisson.h
Found #include "curand_discrete2.h" from /usr/local/cuda-12.3/include/curand_kernel.h:1597 at:
  /usr/local/cuda-12.3/include/curand_discrete2.h
Found #include <cstdarg> from /usr/local/cuda-12.3/include/crt/host_config.h:259 at:
  __jitify_builtin/cstdarg
Found #include "device_types.h" from /usr/local/cuda-12.3/include/builtin_types.h:56 at:
  /usr/local/cuda-12.3/include/device_types.h
Found #include "driver_types.h" from /usr/local/cuda-12.3/include/builtin_types.h:59 at:
  /usr/local/cuda-12.3/include/driver_types.h
Found #include "surface_types.h" from /usr/local/cuda-12.3/include/builtin_types.h:62 at:
  /usr/local/cuda-12.3/include/surface_types.h
Found #include "texture_types.h" from /usr/local/cuda-12.3/include/builtin_types.h:63 at:
  /usr/local/cuda-12.3/include/texture_types.h
Found #include "vector_types.h" from /usr/local/cuda-12.3/include/builtin_types.h:64 at:
  /usr/local/cuda-12.3/include/vector_types.h
Found #include "cuda_runtime_api.h" from /usr/local/cuda-12.3/include/channel_descriptor.h:61 at:
  /usr/local/cuda-12.3/include/cuda_runtime_api.h
Found #include "crt/host_defines.h" from /usr/local/cuda-12.3/include/cuda_runtime_api.h:148 at:
  /usr/local/cuda-12.3/include/crt/host_defines.h
Found #include "cuda_device_runtime_api.h" from /usr/local/cuda-12.3/include/cuda_runtime_api.h:153 at:
  /usr/local/cuda-12.3/include/cuda_device_runtime_api.h
Found #include "crt/host_defines.h" from /usr/local/cuda-12.3/include/driver_functions.h:54 at:
  /usr/local/cuda-12.3/include/crt/host_defines.h
Found #include "driver_types.h" from /usr/local/cuda-12.3/include/driver_functions.h:55 at:
  /usr/local/cuda-12.3/include/driver_types.h
Found #include "vector_functions.hpp" from /usr/local/cuda-12.3/include/vector_functions.h:176 at:
  /usr/local/cuda-12.3/include/vector_functions.hpp
Found #include "builtin_types.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:81 at:
  /usr/local/cuda-12.3/include/builtin_types.h
Found #include "device_types.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:82 at:
  /usr/local/cuda-12.3/include/device_types.h
Found #include "host_defines.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:83 at:
  /usr/local/cuda-12.3/include/crt/host_defines.h
Found #include "device_functions.hpp" from /usr/local/cuda-12.3/include/crt/device_functions.h:3617 at:
  /usr/local/cuda-12.3/include/crt/device_functions.hpp
Found #include "device_atomic_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3620 at:
  /usr/local/cuda-12.3/include/device_atomic_functions.h
Found #include "device_double_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3621 at:
  /usr/local/cuda-12.3/include/crt/device_double_functions.h
Found #include "sm_20_atomic_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3622 at:
  /usr/local/cuda-12.3/include/sm_20_atomic_functions.h
Found #include "sm_32_atomic_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3623 at:
  /usr/local/cuda-12.3/include/sm_32_atomic_functions.h
Found #include "sm_35_atomic_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3624 at:
  /usr/local/cuda-12.3/include/sm_35_atomic_functions.h
Found #include "sm_60_atomic_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3625 at:
  /usr/local/cuda-12.3/include/sm_60_atomic_functions.h
Found #include "sm_20_intrinsics.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3626 at:
  /usr/local/cuda-12.3/include/sm_20_intrinsics.h
Found #include "sm_30_intrinsics.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3627 at:
  /usr/local/cuda-12.3/include/sm_30_intrinsics.h
Found #include "sm_32_intrinsics.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3628 at:
  /usr/local/cuda-12.3/include/sm_32_intrinsics.h
Found #include "sm_35_intrinsics.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3629 at:
  /usr/local/cuda-12.3/include/sm_35_intrinsics.h
Found #include "sm_61_intrinsics.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3630 at:
  /usr/local/cuda-12.3/include/sm_61_intrinsics.h
Found #include "sm_70_rt.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3631 at:
  /usr/local/cuda-12.3/include/crt/sm_70_rt.h
Found #include "sm_80_rt.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3632 at:
  /usr/local/cuda-12.3/include/crt/sm_80_rt.h
Found #include "sm_90_rt.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3633 at:
  /usr/local/cuda-12.3/include/crt/sm_90_rt.h
Found #include "texture_indirect_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3634 at:
  /usr/local/cuda-12.3/include/texture_indirect_functions.h
Found #include "surface_indirect_functions.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3635 at:
  /usr/local/cuda-12.3/include/surface_indirect_functions.h
Found #include "cudacc_ext.h" from /usr/local/cuda-12.3/include/crt/device_functions.h:3636 at:
  /usr/local/cuda-12.3/include/crt/cudacc_ext.h
Found #include "builtin_types.h" from /usr/local/cuda-12.3/include/crt/common_functions.h:71 at:
  /usr/local/cuda-12.3/include/builtin_types.h
Found #include "host_defines.h" from /usr/local/cuda-12.3/include/crt/common_functions.h:72 at:
  /usr/local/cuda-12.3/include/crt/host_defines.h
Found #include <string.h> from /usr/local/cuda-12.3/include/crt/common_functions.h:85 at:
  __jitify_builtin/string.h
Found #include <time.h> from /usr/local/cuda-12.3/include/crt/common_functions.h:86 at:
  __jitify_builtin/time.h
Found #include <stdio.h> from /usr/local/cuda-12.3/include/crt/common_functions.h:136 at:
  __jitify_builtin/stdio.h
Found #include <stdlib.h> from /usr/local/cuda-12.3/include/crt/common_functions.h:137 at:
  __jitify_builtin/stdlib.h
Found #include <assert.h> from /usr/local/cuda-12.3/include/crt/common_functions.h:174 at:
  __jitify_builtin/assert.h
Found #include "cuda_device_runtime_api.h" from /usr/local/cuda-12.3/include/crt/common_functions.h:300 at:
  /usr/local/cuda-12.3/include/cuda_device_runtime_api.h
Found #include "math_functions.h" from /usr/local/cuda-12.3/include/crt/common_functions.h:303 at:
  /usr/local/cuda-12.3/include/crt/math_functions.h
Found #include <utility> from __jitify_builtin/functional:5 at:
  __jitify_builtin/utility
Found #include "detail/__target_macros" from /usr/local/cuda-12.3/include/nv/target:201 at:
  /usr/local/cuda-12.3/include/nv/detail/__target_macros
Found #include "detail/__config" from /usr/local/cuda-12.3/include/cuda/std/type_traits:14 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/__config
Found #include "detail/__pragma_push" from /usr/local/cuda-12.3/include/cuda/std/type_traits:16 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/__pragma_push
Found #include "detail/libcxx/include/type_traits" from /usr/local/cuda-12.3/include/cuda/std/type_traits:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits
Found #include "detail/__pragma_pop" from /usr/local/cuda-12.3/include/cuda/std/type_traits:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/__pragma_pop
Found #include <stdlib.h> from /usr/local/cuda-12.3/include/curand_mtgp32_kernel.h:107 at:
  __jitify_builtin/stdlib.h
Found #include <memory.h> from /usr/local/cuda-12.3/include/curand_mtgp32_kernel.h:108 at:
  __jitify_builtin/memory.h
Found #include <string.h> from /usr/local/cuda-12.3/include/curand_mtgp32_kernel.h:109 at:
  __jitify_builtin/string.h
Found #include "curand_mtgp32.h" from /usr/local/cuda-12.3/include/curand_mtgp32_kernel.h:113 at:
  /usr/local/cuda-12.3/include/curand_mtgp32.h
Found #include "curand_normal_static.h" from /usr/local/cuda-12.3/include/curand_normal.h:68 at:
  /usr/local/cuda-12.3/include/curand_normal_static.h
Found #include <stdlib.h> from /usr/local/cuda-12.3/include/cuda_device_runtime_api.h:54 at:
  __jitify_builtin/stdlib.h
Found #include "device_atomic_functions.hpp" from /usr/local/cuda-12.3/include/device_atomic_functions.h:188 at:
  /usr/local/cuda-12.3/include/device_atomic_functions.hpp
Found #include "device_double_functions.hpp" from /usr/local/cuda-12.3/include/crt/device_double_functions.h:1184 at:
  /usr/local/cuda-12.3/include/crt/device_double_functions.hpp
Found #include "sm_20_atomic_functions.hpp" from /usr/local/cuda-12.3/include/sm_20_atomic_functions.h:107 at:
  /usr/local/cuda-12.3/include/sm_20_atomic_functions.hpp
Found #include "sm_32_atomic_functions.hpp" from /usr/local/cuda-12.3/include/sm_32_atomic_functions.h:120 at:
  /usr/local/cuda-12.3/include/sm_32_atomic_functions.hpp
Found #include "sm_32_atomic_functions.h" from /usr/local/cuda-12.3/include/sm_35_atomic_functions.h:56 at:
  /usr/local/cuda-12.3/include/sm_32_atomic_functions.h
Found #include "sm_60_atomic_functions.hpp" from /usr/local/cuda-12.3/include/sm_60_atomic_functions.h:325 at:
  /usr/local/cuda-12.3/include/sm_60_atomic_functions.hpp
Found #include "sm_20_intrinsics.hpp" from /usr/local/cuda-12.3/include/sm_20_intrinsics.h:1564 at:
  /usr/local/cuda-12.3/include/sm_20_intrinsics.hpp
Found #include "sm_30_intrinsics.hpp" from /usr/local/cuda-12.3/include/sm_30_intrinsics.h:233 at:
  /usr/local/cuda-12.3/include/sm_30_intrinsics.hpp
Found #include "sm_32_intrinsics.hpp" from /usr/local/cuda-12.3/include/sm_32_intrinsics.h:512 at:
  /usr/local/cuda-12.3/include/sm_32_intrinsics.hpp
Found #include "sm_61_intrinsics.hpp" from /usr/local/cuda-12.3/include/sm_61_intrinsics.h:235 at:
  /usr/local/cuda-12.3/include/sm_61_intrinsics.hpp
Found #include "sm_70_rt.hpp" from /usr/local/cuda-12.3/include/crt/sm_70_rt.h:126 at:
  /usr/local/cuda-12.3/include/crt/sm_70_rt.hpp
Found #include "sm_80_rt.hpp" from /usr/local/cuda-12.3/include/crt/sm_80_rt.h:154 at:
  /usr/local/cuda-12.3/include/crt/sm_80_rt.hpp
Found #include "sm_90_rt.hpp" from /usr/local/cuda-12.3/include/crt/sm_90_rt.h:250 at:
  /usr/local/cuda-12.3/include/crt/sm_90_rt.hpp
Found #include <cstddef> from __jitify_builtin/stdio.h:2 at:
  __jitify_builtin/cstddef
Found #include <cstddef> from __jitify_builtin/stdlib.h:2 at:
  __jitify_builtin/cstddef
Found #include <cmath> from /usr/local/cuda-12.3/include/crt/math_functions.h:10554 at:
  __jitify_builtin/cmath
Found #include <cstdlib> from /usr/local/cuda-12.3/include/crt/math_functions.h:10555 at:
  __jitify_builtin/cstdlib
Found #include <crt/func_macro.h> from /usr/local/cuda-12.3/include/crt/math_functions.h:11929 at:
  /usr/local/cuda-12.3/include/crt/func_macro.h
Found #include "math_functions.hpp" from /usr/local/cuda-12.3/include/crt/math_functions.h:12201 at:
  /usr/local/cuda-12.3/include/crt/math_functions.hpp
Found #include "__preprocessor" from /usr/local/cuda-12.3/include/nv/detail/__target_macros:14 at:
  /usr/local/cuda-12.3/include/nv/detail/__preprocessor
Found #include "libcxx/include/__config" from /usr/local/cuda-12.3/include/cuda/std/detail/__config:43 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__config
Found #include "libcxx/include/__pragma_push" from /usr/local/cuda-12.3/include/cuda/std/detail/__pragma_push:11 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__pragma_push
Found #include "libcxx/include/__undef_macros" from /usr/local/cuda-12.3/include/cuda/std/detail/__pragma_push:12 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__undef_macros
Found #include "__assert" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:425 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__assert
Found #include "__functional/identity.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:426 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/identity.h
Found #include "__functional/invoke.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:427 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h
Found #include "__memory/addressof.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:428 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__memory/addressof.h
Found #include "__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:429 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "__type_traits/add_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:430 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_cv.h
Found #include "__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:431 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "__type_traits/add_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:432 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h
Found #include "__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:433 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "__type_traits/add_volatile.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:434 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_volatile.h
Found #include "__type_traits/aligned_storage.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:435 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h
Found #include "__type_traits/aligned_union.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:436 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h
Found #include "__type_traits/alignment_of.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:437 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h
Found #include "__type_traits/apply_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:438 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h
Found #include "__type_traits/can_extract_key.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:439 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h
Found #include "__type_traits/common_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:440 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h
Found #include "__type_traits/common_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:441 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h
Found #include "__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:442 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "__type_traits/conjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:443 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h
Found #include "__type_traits/copy_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:444 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h
Found #include "__type_traits/copy_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:445 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h
Found #include "__type_traits/decay.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:446 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h
Found #include "__type_traits/dependent_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:447 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/dependent_type.h
Found #include "__type_traits/disjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:448 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h
Found #include "__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:449 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "__type_traits/extent.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:450 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/extent.h
Found #include "__type_traits/has_unique_object_representation.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:451 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h
Found #include "__type_traits/has_virtual_destructor.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:452 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/has_virtual_destructor.h
Found #include "__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:453 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "__type_traits/is_abstract.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:454 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_abstract.h
Found #include "__type_traits/is_aggregate.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:455 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_aggregate.h
Found #include "__type_traits/is_allocator.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:456 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h
Found #include "__type_traits/is_arithmetic.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:457 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h
Found #include "__type_traits/is_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:458 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h
Found #include "__type_traits/is_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:459 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h
Found #include "__type_traits/is_base_of.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:460 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h
Found #include "__type_traits/is_bounded_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:461 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h
Found #include "__type_traits/is_callable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:462 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h
Found #include "__type_traits/is_char_like_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:463 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h
Found #include "__type_traits/is_class.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:464 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h
Found #include "__type_traits/is_compound.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:465 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h
Found #include "__type_traits/is_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:466 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h
Found #include "__type_traits/is_constant_evaluated.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:467 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constant_evaluated.h
Found #include "__type_traits/is_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:468 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h
Found #include "__type_traits/is_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:469 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h
Found #include "__type_traits/is_copy_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:470 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h
Found #include "__type_traits/is_copy_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:471 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h
Found #include "__type_traits/is_core_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:472 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h
Found #include "__type_traits/is_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:473 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h
Found #include "__type_traits/is_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:474 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h
Found #include "__type_traits/is_empty.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:475 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_empty.h
Found #include "__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:476 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "__type_traits/is_final.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:477 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_final.h
Found #include "__type_traits/is_floating_point.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:478 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h
Found #include "__type_traits/is_function.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:479 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h
Found #include "__type_traits/is_fundamental.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:480 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h
Found #include "__type_traits/is_implicitly_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:481 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h
Found #include "__type_traits/is_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:482 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h
Found #include "__type_traits/is_literal_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:483 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h
Found #include "__type_traits/is_member_function_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:484 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h
Found #include "__type_traits/is_member_object_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:485 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h
Found #include "__type_traits/is_member_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:486 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h
Found #include "__type_traits/is_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:487 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h
Found #include "__type_traits/is_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:488 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h
Found #include "__type_traits/is_nothrow_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:489 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h
Found #include "__type_traits/is_nothrow_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:490 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h
Found #include "__type_traits/is_nothrow_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:491 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h
Found #include "__type_traits/is_nothrow_copy_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:492 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h
Found #include "__type_traits/is_nothrow_copy_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:493 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h
Found #include "__type_traits/is_nothrow_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:494 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_default_constructible.h
Found #include "__type_traits/is_nothrow_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:495 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h
Found #include "__type_traits/is_nothrow_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:496 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h
Found #include "__type_traits/is_nothrow_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:497 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h
Found #include "__type_traits/is_null_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:498 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h
Found #include "__type_traits/is_object.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:499 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h
Found #include "__type_traits/is_pod.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:500 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h
Found #include "__type_traits/is_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:501 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h
Found #include "__type_traits/is_polymorphic.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:502 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h
Found #include "__type_traits/is_primary_template.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:503 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h
Found #include "__type_traits/is_reference_wrapper.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:504 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h
Found #include "__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:505 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "__type_traits/is_referenceable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:506 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h
Found #include "__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:507 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:508 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "__type_traits/is_scoped_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:509 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h
Found #include "__type_traits/is_signed_integer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:510 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_signed_integer.h
Found #include "__type_traits/is_signed.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:511 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h
Found #include "__type_traits/is_standard_layout.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:512 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h
Found #include "__type_traits/is_swappable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:513 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h
Found #include "__type_traits/is_trivial.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:514 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h
Found #include "__type_traits/is_trivially_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:515 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h
Found #include "__type_traits/is_trivially_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:516 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h
Found #include "__type_traits/is_trivially_copy_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:517 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h
Found #include "__type_traits/is_trivially_copy_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:518 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h
Found #include "__type_traits/is_trivially_copyable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:519 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h
Found #include "__type_traits/is_trivially_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:520 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h
Found #include "__type_traits/is_trivially_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:521 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h
Found #include "__type_traits/is_trivially_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:522 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h
Found #include "__type_traits/is_trivially_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:523 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h
Found #include "__type_traits/is_unbounded_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:524 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unbounded_array.h
Found #include "__type_traits/is_union.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:525 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h
Found #include "__type_traits/is_unsigned_integer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:526 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned_integer.h
Found #include "__type_traits/is_unsigned.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:527 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h
Found #include "__type_traits/is_valid_expansion.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:528 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h
Found #include "__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:529 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "__type_traits/is_volatile.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:530 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h
Found #include "__type_traits/lazy.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:531 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/lazy.h
Found #include "__type_traits/make_const_lvalue_ref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:532 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_const_lvalue_ref.h
Found #include "__type_traits/make_32_64_or_128_bit.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:533 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h
Found #include "__type_traits/make_signed.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:534 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h
Found #include "__type_traits/make_unsigned.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:535 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h
Found #include "__type_traits/maybe_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:536 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/maybe_const.h
Found #include "__type_traits/nat.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:537 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/nat.h
Found #include "__type_traits/negation.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:538 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/negation.h
Found #include "__type_traits/promote.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:539 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/promote.h
Found #include "__type_traits/rank.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:540 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/rank.h
Found #include "__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:541 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "__type_traits/remove_const_ref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:542 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h
Found #include "__type_traits/remove_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:543 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h
Found #include "__type_traits/remove_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:544 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h
Found #include "__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:545 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "__type_traits/remove_extent.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:546 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h
Found #include "__type_traits/remove_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:547 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_pointer.h
Found #include "__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:548 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "__type_traits/remove_volatile.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:549 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_volatile.h
Found #include "__type_traits/result_of.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:550 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/result_of.h
Found #include "__type_traits/type_identity.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:551 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/type_identity.h
Found #include "__type_traits/type_list.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:552 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h
Found #include "__type_traits/underlying_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:553 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h
Found #include "__type_traits/void_t.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:554 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h
Found #include "__utility/convert_to_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:555 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h
Found #include "__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:556 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "__utility/forward.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:557 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/forward.h
Found #include "__utility/move.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:558 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/move.h
Found #include "__utility/swap.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:559 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h
Found #include "cstdint" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:560 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstdint
Found #include "cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:561 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "version" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/type_traits:562 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/version
Found #include "libcxx/include/__pragma_pop" from /usr/local/cuda-12.3/include/cuda/std/detail/__pragma_pop:11 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__pragma_pop
Found #include "math_constants.h" from /usr/local/cuda-12.3/include/crt/math_functions.hpp:1189 at:
  /usr/local/cuda-12.3/include/math_constants.h
Found #include <cuda_fp16.h> from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__config:61 at:
  /usr/local/cuda-12.3/include/cuda_fp16.h
Found #include "__verbose_abort" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__assert:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__verbose_abort
Found #include "../__utility/forward.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/identity.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/forward.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/apply_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/decay.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_base_of.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h
Found #include "../__type_traits/is_core_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:25 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h
Found #include "../__type_traits/is_member_function_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:26 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h
Found #include "../__type_traits/is_member_object_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:27 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h
Found #include "../__type_traits/is_reference_wrapper.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:28 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:29 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:30 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/nat.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:31 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/nat.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:32 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:33 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__utility/forward.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h:34 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/forward.h
Found #include "../__type_traits/is_referenceable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h
Found #include "../__type_traits/is_referenceable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/is_referenceable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h:16 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/nat.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/nat.h
Found #include "../__type_traits/type_list.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/aligned_storage.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_storage.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/aligned_union.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/alignment_of.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/is_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h
Found #include "../__type_traits/is_volatile.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__fwd/pair.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__fwd/pair.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/remove_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h
Found #include "../__type_traits/remove_const_ref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/can_extract_key.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h
Found #include "../__type_traits/common_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/copy_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h
Found #include "../__type_traits/copy_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h
Found #include "../__type_traits/disjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/is_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h
Found #include "../__type_traits/is_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:25 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:26 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:27 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:28 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:29 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/remove_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:30 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h
Found #include "../__type_traits/void_t.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:31 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_reference.h:32 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/decay.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/remove_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h
Found #include "../__type_traits/void_t.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/common_type.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_cv.h
Found #include "../__type_traits/add_volatile.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_volatile.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/copy_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cvref.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/copy_cv.h
Found #include "../__type_traits/add_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_pointer.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/is_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h
Found #include "../__type_traits/is_function.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h
Found #include "../__type_traits/is_referenceable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/remove_extent.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/decay.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/extent.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/extent.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/has_unique_object_representation.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/has_virtual_destructor.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_abstract.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_aggregate.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/void_t.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_allocator.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_floating_point.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h
Found #include "../__type_traits/is_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_bounded_array.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_callable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/conjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h
Found #include "../__type_traits/is_standard_layout.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h
Found #include "../__type_traits/is_trivial.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_char_like_type.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_union.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_fundamental.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_compound.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/conjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h
Found #include "../__type_traits/disjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_base_of.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_base_of.h
Found #include "../__type_traits/is_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/negation.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:25 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/negation.h
Found #include "../__type_traits/remove_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:26 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h:27 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h
Found #include "../__type_traits/is_function.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/is_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/is_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_core_convertible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_function.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_empty.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h
Found #include "../__type_traits/is_class.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h
Found #include "../__type_traits/is_floating_point.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h
Found #include "../__type_traits/is_function.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h
Found #include "../__type_traits/is_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h
Found #include "../__type_traits/is_member_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h
Found #include "../__type_traits/is_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:25 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/is_union.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:26 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h:27 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_final.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_const.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_null_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_fundamental.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_implicitly_default_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_default_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_literal_type.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_function.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_function.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_member_function_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_object_pointer.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_member_function_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_function_pointer.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/is_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/is_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_assignable.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_constructible.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/conjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conjunction.h
Found #include "../__type_traits/disjunction.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/disjunction.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/lazy.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/lazy.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_convertible.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/is_nothrow_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/is_nothrow_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_copy_constructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h
Found #include "../__type_traits/is_nothrow_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_default_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_destructible.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/is_nothrow_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_assignable.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/is_nothrow_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_array.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_array.h
Found #include "../__type_traits/is_class.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_class.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/is_union.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_object.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_trivially_copy_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h
Found #include "../__type_traits/is_trivially_copy_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h
Found #include "../__type_traits/is_trivially_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h
Found #include "../__type_traits/is_trivially_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pod.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_polymorphic.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_valid_expansion.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h
Found #include "../__type_traits/void_t.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_primary_template.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/void_t.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference_wrapper.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_arithmetic.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h
Found #include "../__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "../__type_traits/is_member_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_member_pointer.h
Found #include "../__type_traits/is_null_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_null_pointer.h
Found #include "../__type_traits/is_pointer.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_pointer.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_convertible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_convertible.h
Found #include "../__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "../__type_traits/underlying_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scoped_enum.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_signed_integer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_arithmetic.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h:15 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_standard_layout.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/is_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h
Found #include "../__type_traits/is_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h
Found #include "../__type_traits/is_nothrow_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h
Found #include "../__type_traits/is_nothrow_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h
Found #include "../__type_traits/is_referenceable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_referenceable.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:25 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_void.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:26 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h
Found #include "../__type_traits/nat.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:27 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/nat.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:28 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h:29 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_trivially_copyable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h
Found #include "../__type_traits/is_trivially_default_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivial.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/is_trivially_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h
Found #include "../__type_traits/add_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_const.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/is_trivially_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copy_constructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_copyable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__type_traits/is_trivially_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_default_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_destructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_destructible.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/is_scalar.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_scalar.h
Found #include "../__type_traits/remove_all_extents.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_destructible.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h
Found #include "../__type_traits/add_lvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_lvalue_reference.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/is_trivially_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_assignable.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_assignable.h
Found #include "../__type_traits/add_rvalue_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/add_rvalue_reference.h
Found #include "../__type_traits/is_trivially_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_move_constructible.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_trivially_constructible.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unbounded_array.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_union.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned_integer.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_arithmetic.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_arithmetic.h
Found #include "../__type_traits/is_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_valid_expansion.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/remove_cvref.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_void.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_volatile.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_const_lvalue_ref.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/is_signed.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_signed.h
Found #include "../__type_traits/is_unsigned.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h
Found #include "../__type_traits/make_unsigned.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h
Found #include "../cstdint" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_32_64_or_128_bit.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstdint
Found #include "../__type_traits/apply_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h
Found #include "../__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "../__type_traits/is_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h
Found #include "../__type_traits/nat.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/nat.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/type_list.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_signed.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h
Found #include "../__type_traits/apply_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/apply_cv.h
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "../__type_traits/is_integral.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_integral.h
Found #include "../__type_traits/is_unsigned.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_unsigned.h
Found #include "../__type_traits/nat.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/nat.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/type_list.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/make_unsigned.h:25 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/maybe_const.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/negation.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/promote.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/promote.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__utility/declval.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/promote.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/declval.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/promote.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/integral_constant.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/rank.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/integral_constant.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/rank.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_all_extents.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/remove_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const_ref.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/is_same.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_same.h
Found #include "../__type_traits/remove_cv.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cvref.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/remove_const.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_const.h
Found #include "../__type_traits/remove_volatile.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_cv.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_volatile.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_extent.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__functional/invoke.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/result_of.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__functional/invoke.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/type_list.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/is_enum.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_enum.h
Found #include "../__type_traits/is_floating_point.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_floating_point.h
Found #include "../__type_traits/underlying_type.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/convert_to_integral.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/underlying_type.h
Found #include "../__type_traits/is_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/forward.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_reference.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/forward.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/forward.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "../__type_traits/conditional.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/move.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/conditional.h
Found #include "../__type_traits/is_copy_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/move.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_copy_constructible.h
Found #include "../__type_traits/is_nothrow_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/move.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h
Found #include "../__type_traits/remove_reference.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/move.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/remove_reference.h
Found #include "../__type_traits/enable_if.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:17 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/enable_if.h
Found #include "../__type_traits/is_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_assignable.h
Found #include "../__type_traits/is_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:19 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_move_constructible.h
Found #include "../__type_traits/is_nothrow_move_assignable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:20 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_assignable.h
Found #include "../__type_traits/is_nothrow_move_constructible.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:21 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_nothrow_move_constructible.h
Found #include "../__type_traits/is_swappable.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:22 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__type_traits/is_swappable.h
Found #include "../__utility/move.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:23 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/move.h
Found #include "../cstddef" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__utility/swap.h:24 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef
Found #include "__cuda/cstdint_prelude.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstdint:146 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__cuda/cstdint_prelude.h
Found #include <stdint.h> from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstdint:150 at:
  __jitify_builtin/stdint.h
Found #include "climits" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstdint:153 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/climits
Found #include "version" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstdint:154 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/version
Found #include "__cuda/cstddef_prelude.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef:39 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__cuda/cstddef_prelude.h
Found #include "version" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/cstddef:45 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/version
Found #include "cuda_fp16.hpp" from /usr/local/cuda-12.3/include/cuda_fp16.h:4748 at:
  /usr/local/cuda-12.3/include/cuda_fp16.hpp
Found #include "__availability" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__verbose_abort:18 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__availability
Found #include "__cuda/climits_prelude.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/climits:43 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/__cuda/climits_prelude.h
Found #include "support/win32/limits_msvc_win32.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/climits:56 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/support/win32/limits_msvc_win32.h
Found #include "support/ibm/limits.h" from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/climits:60 at:
  /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/support/ibm/limits.h
Found #include <float.h> from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/support/win32/limits_msvc_win32.h:21 at:
  __jitify_builtin/float.h
Found #include <float.h> from /usr/local/cuda-12.3/include/cuda/std/detail/libcxx/include/support/ibm/limits.h:40 at:
  __jitify_builtin/float.h
__jitify_rel_inc:/home/rob/FLAMEGPU2/build/bin/Debug:__jitify_name:flamegpu/runtime/DeviceAPI.cuh(13): catastrophic error: could not open source file "__jitify_rel_inc:/home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime:__jitify_name:dynamic/curve_rtc_dynamic.h" (no directories in search list)
  #include <__jitify_rel_inc:/home/rob/FLAMEGPU2/build/bin/Debug/flamegpu/runtime:__jitify_name:dynamic/curve_rtc_dynamic.h>
                                                                                                                            ^

1 catastrophic error detected in the compilation of "outputdata_program".
Compilation terminated.

ManyLinux2014 (CUDA 11.2/12.0)

Now builds on CI after setting definition _FILE_OFFSET_BITS=64

Visual Studio 2019

Still got the variadic template error

Log
   1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional(822): error #304: no instance of function template "std::_Invoker_ret<_Rx, false>::_Call [with _Rx=nvrtcResult]" matches the argument list [D:\a\FLAMEGPU2\FLAMEGPU2\build\FLAMEGPU\flamegpu.vcxproj]
                     argument types are: (std::decay_t<std::remove_reference_t<nvrtcResult (*&)(nvrtcProgram, const char *)>>, nvrtcProgram, std::remove_reference_t<const char *&>)
                   detected during:
                     instantiation of "_Rx std::_Func_impl_no_alloc<_Callable, _Rx, _Types...>::_Do_call(_Types &&...) [with _Callable=std::decay_t<std::remove_reference_t<nvrtcResult (*&)(nvrtcProgram, const char *)>>, _Rx=nvrtcResult, _Types=<nvrtcProgram, const char *>]" 
         (798): here
                     instantiation of "std::_Func_impl_no_alloc<_Callable, _Rx, _Types...>::_Func_impl_no_alloc(_Other &&) [with _Callable=std::decay_t<std::remove_reference_t<nvrtcResult (*&)(nvrtcProgram, const char *)>>, _Rx=nvrtcResult, _Types=<nvrtcProgram, const char *>, _Other=std::remove_reference_t<nvrtcResult (*&)(nvrtcProgram, const char *)>, <unnamed>=0]" 
         (916): here
                     instantiation of "void std::_Func_class<_Ret, _Types...>::_Reset(_Fx &&) [with _Ret=nvrtcResult, _Types=<nvrtcProgram, const char *>, _Fx=std::remove_reference_t<nvrtcResult (*&)(nvrtcProgram, const char *)>]" 
         (1042): here
                     instantiation of "std::function<_Fty>::function(_Fx) [with _Fty=nvrtcResult (nvrtcProgram, const char *), _Fx=nvrtcResult (*)(nvrtcProgram, const char *), <unnamed>=int]" 
         D:\a\FLAMEGPU2\FLAMEGPU2\build\_deps\jitify-src\jitify/jitify2.hpp(1467): here
                     instantiation of "jitify2::detail::SafeFunction<ResultType, Args...> jitify2::detail::DynamicLibrary::function<ResultType,Args...>(const char *) const [with ResultType=nvrtcResult, Args=<nvrtcProgram, const char *const>]" 
         D:\a\FLAMEGPU2\FLAMEGPU2\build\_deps\jitify-src\jitify/jitify2.hpp(3060): here
         
     1>C:\Program Files (x86)\Microsoft Visual Studio\2019\Enterprise\VC\Tools\MSVC\14.29.30133\include\functional(822): error #304: no instance of function template "std::_Invoker_ret<_Rx, false>::_Call [with _Rx=const char *]" matches the argument list [D:\a\FLAMEGPU2\FLAMEGPU2\build\FLAMEGPU\flamegpu.vcxproj]
                     argument types are: (std::decay_t<std::remove_reference_t<jitify2::detail::function_type<const char *, nvrtcResult> *&>>, nvrtcResult)
                   detected during:
                     instantiation of "_Rx std::_Func_impl_no_alloc<_Callable, _Rx, _Types...>::_Do_call(_Types &&...) [with _Callable=std::decay_t<std::remove_reference_t<jitify2::detail::function_type<const char *, nvrtcResult> *&>>, _Rx=const char *, _Types=<nvrtcResult>]" 
         (798): here
                     instantiation of "std::_Func_impl_no_alloc<_Callable, _Rx, _Types...>::_Func_impl_no_alloc(_Other &&) [with _Callable=std::decay_t<std::remove_reference_t<jitify2::detail::function_type<const char *, nvrtcResult> *&>>, _Rx=const char *, _Types=<nvrtcResult>, _Other=std::remove_reference_t<jitify2::detail::function_type<const char *, nvrtcResult> *&>, <unnamed>=0]" 
         (916): here
                     instantiation of "void std::_Func_class<_Ret, _Types...>::_Reset(_Fx &&) [with _Ret=const char *, _Types=<nvrtcResult>, _Fx=std::remove_reference_t<jitify2::detail::function_type<const char *, nvrtcResult> *&>]" 
         (1042): here
                     instantiation of "std::function<_Fty>::function(_Fx) [with _Fty=const char *(nvrtcResult), _Fx=jitify2::detail::function_type<const char *, nvrtcResult> *, <unnamed>=int]" 
         D:\a\FLAMEGPU2\FLAMEGPU2\build\_deps\jitify-src\jitify/jitify2.hpp(1467): here
                     instantiation of "jitify2::detail::SafeFunction<ResultType, Args...> jitify2::detail::DynamicLibrary::function<ResultType,Args...>(const char *) const [with ResultType=const char *, Args=<nvrtcResult>]" 
         D:\a\FLAMEGPU2\FLAMEGPU2\build\_deps\jitify-src\jitify/jitify2.hpp(3112): here

     1>CudaBuildCore:
         3 errors detected in the compilation of "D:/a/FLAMEGPU2/FLAMEGPU2/src/flamegpu/simulation/CUDASimulation.cu".
         CUDASimulation.cu

@benbarsdell
Copy link
Member Author

I think the stdlib.h error is because you're using --pre-include to include cuda.h. I probably need to add logic to handle pre-includes.

I'm guessing the dynamic/curve_rtc_dynamic.h error is because a header is doing #include "dynamic/curve_rtc_dynamic.h" from a subdirectory (is that the case?). It will probably work if you change it to #include <dynamic/curve_rtc_dynamic.h>.

I need to find a way to reproduce the variadic template error.

@Robadob
Copy link
Contributor

Robadob commented Nov 21, 2023

I think the stdlib.h error is because you're using --pre-include to include cuda.h. I probably need to add logic to handle pre-includes.

Yes, removing that line has moved Visual Studio 2022 to the same error as previously reported with gcc.

I'm guessing the dynamic/curve_rtc_dynamic.h error is because a header is doing #include "dynamic/curve_rtc_dynamic.h" from a subdirectory (is that the case?). It will probably work if you change it to #include <dynamic/curve_rtc_dynamic.h>.

I made this change, and now it's unable to find a regular file included by dynamic/curve_rtc_dynamic.h (that is also included in the preloaded headers map)

#line 1 "outputdata_impl_curve_rtc_dynamic.h"
#ifndef CURVE_RTC_DYNAMIC_H_
#define CURVE_RTC_DYNAMIC_H_

#include "flamegpu/exception/FLAMEGPUDeviceException.cuh"
#include "flamegpu/detail/type_decode.h"
#include "flamegpu/runtime/detail/curve/Curve.cuh"
#include "flamegpu/util/dstring.h"
outputdata_impl_curve_rtc_dynamic.h(4): catastrophic error: could not open source file "__jitify_rel_inc:C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug/dynamic:__jitify_name:flamegpu/exception/FLAMEGPUDeviceException.cuh" (no directories in search list)

1 catastrophic error detected in the compilation of "outputdata_program".
Compilation terminated.

Whilst investigating this, I removed the preloading of all FLAMEGPU headers (which I presume shouldn't be required for speedup after this PR), and found it doesn't appear to be using our include directories passed via options to preprocess() (as shown in the code snippet from my previous comment).

Compilation failed: NVRTC_ERROR_COMPILATION
Compiler options: "-DFLAMEGPU_CURAND_Philox4_32_10 --device-debug -DDEBUG --define-macro=FLAMEGPU_SEATBELTS=1 -include=jitify_preinclude.h -std=c++11 -default-device -no-source-include -arch=compute_86 -DJITIFY_PREPROCESS_ONLY -DJITIFY_USED_HEADER_WARNINGS"
outputdata_program(1): catastrophic error: could not open source file "__jitify_rel_inc:C:\Users\Robert\fgpu2\fgpu2\build\bin\Debug:__jitify_name:flamegpu/runtime/DeviceAPI.cuh" (no directories in search list)

1 catastrophic error detected in the compilation of "outputdata_program".
Compilation terminated.

It would appear I need to rewrite all of our internal includes as system includes to get any further. (This is rather undesirable, and feels like quite the breaking-change)

I need to find a way to reproduce the variadic template error.

It's possibly a case of Visual Studio 2019 simply having poor support for std::function.

If you have a windows box with Visual Studio 2022, you should be able to install the VS 2019 build tools rather than the whole of Visual Studio 2019.

@benbarsdell
Copy link
Member Author

benbarsdell commented Nov 22, 2023

I think you need to pass "-I." to tell it to use the root (current exe) dir as an include path. That should avoid needing to change any "" to <>. I've added a test that demonstrates this. Full details below.

The keys in the header_sources map are matched as described here:

    // Note: The names (keys) in header_sources will be matched:
    // a) directly, for `#include <name>` directives, and
    // b) as if they are filenames (relative to the current exe dir if not
    //    absolute), for `#include "name"` directives. This will NOT fall back
    //    to direct matching like <> includes.

So a key of dynamic/curve_rtc_dynamic.h will either match #include <dynamic/curve_rtc_dynamic.h> exactly, or it represents the path /root/dynamic/curve_rtc_dynamic.h when matching relative includes (/root is the path to the current executable).
If dynamic/curve_rtc_dynamic.h contains #include "flamegpu/util/dstring.h", then it looks for that header at /root/dynamic/flamegpu/util/dstring.h or at include_paths/flamegpu/util/dstring.h. So the root include path needs to be specified explicitly ("-I.") in order to find it at /root/flamegpu/util/dstring.h, corresponding to a header with key flamegpu/util/dstring.h.

Note that the (no directories in search list) in the error message should be ignored, because Jitify handles all include paths itself instead of passing them to nvrtc. I might be able to patch the error message to list the include paths that jitify used.

@Robadob
Copy link
Contributor

Robadob commented Nov 22, 2023

I think you need to pass "-I." to tell it to use the root (current exe) dir as an include path.

I've tried this, it has no impact.

It only appears able to find FLAMEGPU includes, if they are preloaded and passed via the headers map.

All of our FLAMEGPU includes (and their includes) are relative to the FLAMEGPU include directory.

In my local build this is -I.\..\..\..\..\include, however it could be among Python's site packages, and making the path absolute doesn't resolve the issue either.

I might be able to patch the error message to list the include paths that jitify used.

I've done this myself.

jitify.hpp:7162

  // Try loading from include directories.
  for (const std::string& include_path : include_paths) {
    *full_path = include.nonlocal_full_path(include_path);
    *full_path = path_simplify(*full_path);
    if (already_loaded(*full_path)) return HeaderLoadStatus::kAlreadyLoaded;
    if (read_text_file(*full_path, &source)) {
      return newly_loaded(std::move(source));
    } else {
      fprintf(stderr, 
          "Did not find #include %s at %s\n", include.name().c_str(), full_path->c_str());
    }
  }

The first file it can't find is

Did not find #include flamegpu/runtime/DeviceAPI.cuh at C:/Users/Robert/fgpu2/fgpu2/build/examples/cpp_rtc/boids_spatial3D/flamegpu/runtime/DeviceAPI.cuh
Did not find #include flamegpu/runtime/DeviceAPI.cuh at C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include/flamegpu/runtime/DeviceAPI.cuh
Did not find #include flamegpu/runtime/DeviceAPI.cuh at C:\Users\Robert\fgpu2\include/flamegpu/runtime/DeviceAPI.cuh

Somehow the relative path is being interpreted wrong.

That path should be C:\Users\Robert\fgpu2\fgpu2\include/flamegpu/runtime/DeviceAPI.cuh

(Note the extra fgpu2).

So I've updated our code, so that the absolute path to the include directory is passed instead -IC:/Users/Robert/fgpu2/fgpu2/include (by passing it through std::filesystem::absolute()).

I think this is a case of relative to executable, rather than working directory.

The first file that can't be found now has changed.

Did not find #include flamegpu/runtime/detail/curve/Curve.cuh at C:/Users/Robert/fgpu2/fgpu2/build/examples/cpp_rtc/boids_spatial3D/flamegpu/runtime/detail/curve/Curve.cuh
Did not find #include flamegpu/runtime/detail/curve/Curve.cuh at C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.0\include/flamegpu/runtime/detail/curve/Curve.cuh
Did not find #include flamegpu/runtime/detail/curve/Curve.cuh at C:/Users/Robert/fgpu2/fgpu2/include/flamegpu/runtime/detail/curve/Curve.cuh

That file does exist on disk.

C:\Users\Robert\fgpu2\fgpu2\include\flamegpu\runtime\detail\curve>dir
 Volume in drive C has no label.
 Volume Serial Number is C4AA-47AC

 Directory of C:\Users\Robert\fgpu2\fgpu2\include\flamegpu\runtime\detail\curve

21/11/2023  16:12    <DIR>          .
02/11/2023  08:34    <DIR>          ..
07/06/2023  14:50             4,260 Curve.cuh
21/11/2023  16:12            18,496 curve_rtc.cuh
02/11/2023  08:34            26,385 DeviceCurve.cuh
25/10/2023  06:03             6,502 HostCurve.cuh
               4 File(s)         55,643 bytes
               2 Dir(s)  300,056,223,744 bytes free

Digging into read_text_file() it appears the last return false is the one triggering on this file.

(long)::fread(&(*content)[0], 1, size, file) returns 4169 whereas size==4260. Checking feof() and ferror() shows the reason to be that end of file was reached.

Curve.cuh is 92 lines long and on this machine has Windows line endings, the automatic conversion from \r\n to \n accounts for the reduced size read. If I change the fopen() call to use "rb" rather than "r" that functionality is disabled and that file is loaded correctly.

However, if I make that change for all files loaded by read_text_file(), it fails much later trying to open <exception>. I'm not sure why that header is now in the include hierarchy, and will need to investigate that on my end (this code hasn't changed from what worked with Jitify1 and Jitify2).


TLDR:

2 issues

  • Relative include paths are now resolved relative to the executable's dir, rather than the working directory. (I've no idea which is technically correct, or if both should be tried)
  • read_text_file() fails to load files with windows line endings, as the conversion from \r\n to \n during load causes the reported size from fread() to be reduced. (switch to opening files as binary "rb").

@benbarsdell
Copy link
Member Author

Thanks for the debugging. I've pushed fixes for preincludes, absolute filenames, and the line endings issue.

The paths being relative to the executable directory is intentional, but I'm now re-thinking whether that's a good idea based on your feedback.

@Robadob
Copy link
Contributor

Robadob commented Nov 22, 2023

it fails much later trying to open . I'm not sure why that header is now in the include hierarchy,

I've now guarded out the offending code, and with the other changes discussed from my previous comment (not clear why jitify1/vanilla-jitify2 weren't complaining). The code I've been testing with now works under both the Windows and Linux.

The Linux/CUDA12.3 RTC times are down to 961 & 1196ms from 24009 & 23543ms! (with preloaded FLAMEGPU headers disabled in both cases, which was the previous hack to accelerate compilation, previously 18793 & 17782ms with the preloading although it has negligible impact to performance with this branch)

I don't have an immediate RTC model to test GLM with (the original thing that spurred #90), but I expect it will fare similarly. The main difference with GLM is that it's many headers all use relative paths to include each-other, which prevented it from benefiting from the header preload hack.

I look forward to seeing this merged, thanks for all the help getting it working.

The VS2022 warnings (in #132) are still upsetting CI, and the VS2019 std::function/varadic-template issue persists. But we can probably guard the VS2022 warnings if necessary (VS via CMake doesn't seem to obey ISystem), and we may drop support for VS2019 if necessary (that requires some internal discussion though).

@Robadob
Copy link
Contributor

Robadob commented Nov 22, 2023

I don't have an immediate RTC model to test GLM with (the original thing that spurred #90), but I expect it will fare similarly.

Realised we have something in our test suite, that reported 1349 & 1318ms for the two (different) kernels under CUDA 12.3. Significantly better than the original >60s reported in #90.

To get any further I expected we'd need to be flattening the headers, so this is great.

@leofang
Copy link
Member

leofang commented Dec 11, 2023

cc: @kmaehashi for vis (I need to find time to migrate to jitify2 so as to test this branch)

Base automatically changed from jitify2-misc-fixes2 to jitify2 February 12, 2024 08:16
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.

3 participants