Lukasz Wawrzyniak
Lukasz Wawrzyniak
### Bug Description There are some confusing and superfluous error messages if the CUDA driver is not found at runtime. ``` Warp CUDA error: Could not open libcuda.so. Warp CUDA...
### Description Passing foreign arrays to Warp kernels works by parsing the __cuda_array_interface__. However, calling generic kernels with foreign array arguments fails to resolve the concrete overload. Repro: ```python from...
Should cover capturing jax_kernel() and jax_callalble() with JAX and Warp graph capture modes.
In conditional node body graphs, memcpy nodes cannot reference host pageable memory: https://docs.nvidia.com/cuda/cuda-c-programming-guide/#condtional-node-body-graph-requirements We can check this in `wp_cuda_graph_check_conditional_body()` and report a useful error. Also check if this is needed...
### Bug Description When JAX doesn't reuse memory for the callable inputs and outputs, a new graph must be captured, which kills perf. ### System Information _No response_
### Description Running with and without graph capture requires some clunky if-else statements, e.g.: ```python if use_graph: if graph is None: with wp.ScopedCapture() as capture: # call the function that...
### Description Support using external C++/CUDA source in Warp kernels. This allows leveraging existing code without rewriting or redefining everything in Warp at the Python level. We should support custom...
### Description Currently, everything needs to go into the `wp` namespace, which is awkward. We should support custom C++ namespaces (e.g., `stuff::MyCustomType`) and maybe Python as well (e.g., `stuff.MyCustomType`). ###...