Current Progress¶
Known Issues¶
Several known issues will be fixed or optimized in the following work or releases.
Missing Features¶
The soft bodies must be added after affine bodies when building up the scene. More flexible scene setup will be introduced.
The renderer can only visualize the entires scene as a single mesh.
Currently
warp.sim.Control
is not supported. Control APIs are exposed in theASRModel
class.
Force Loading Modules and Kernels from Cache¶
Currently, some kernels and modules are not open-sourced. We release the compiled PTX files, and our fork of NVIDIA Warp will load the PTX files from ptx/
. This is how this is implemented:
In warp/context.py
, we have hash disabled if its name (for modules) / key (for kernels) starts with a certain strings. The strings are specified by the WARP_DISABLE_HASH_PREFIX
environment variable (separated by comma ,
), and is ["warp_ipc"]
by default to disable hashing for our abd kernels and modules. warp
kernels and modules will not be effected.
The modification is done by the following liness for Module
(and similarly for Kernel
):
class Module:
disable_hash: bool = False
def __init__(self, name: Optional[str], loader=None):
# ...
for prefix in [m.strip() for m in os.environ.get("WARP_DISABLE_HASH_PREFIX", "warp_ipc").split(",")]:
if self.name.startswith(prefix):
self.disable_hash = True
print(f"Prefix {prefix} hit. Disabling hashing for module {self.name}")
break
# ...
We are actively working to have the directly loading-from-PTX supported natively by NVIDIA warp. Stay tuned!