-
Notifications
You must be signed in to change notification settings - Fork 1
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
optixTrace #2
Comments
As far as I know optixTrace is not implemented yet. Once completed ILGPU.optix should run at the same performance level as the c++ optix library. |
hi @diwot, thanks for your interest in this project. I initially started this project to help the community, because the bindings in OptiX are much more complex than the other Cuda libraries. This in turn has led to the implementation of new features in the core ILGPU library in order to make OptiX support easier. I am not an OptiX expert either, and have not actually written an OptiX program beyond the sample projects. Unfortunately, the OptiX API is particularly large, so if you find missing APIs (e.g. |
OK, looks like we may need to make a change to the core ILGPU library to fully support this. The ILGPU currently only supports one output argument, and a total of 10 arguments. |
Thanks for all this information. I tried a bit getting to run optixTrace myself but it's more complicated than I thought. To get started I implemented optixGetPayloadX but the generated ptx call puts constant method call arguments directly into the call but ptx seems to expect them in registers. A ptx file generated by a c++ cuda project emitted
while my code led to
With optixTrace I ran into the register problem too, but with a lot more arguments my work around is not useful anymore. Also CudaAsm.Emit seems to take out or in arguments but the p0, p1, p2... arguments of optixTrace seem to be passed by reference (The file optix_7_device_impl.h from the optix SDK served as reference to learn how to compose the ptx instruction). Maybe ref arguments would help there
Anyway it's not a big deal that this is not working yet. I just wanted to try if I can get it to run and thought I would share my findings. |
Hi,
this project looks extremely interesting. I was wondering if everything required to ray trace a triangle mesh is available. I searched for optixTrace which seems to be used for ray generation in the corresponding shader and I did not find any matches. I'm not an Optix expert, maybe there are other ray generation techniques. I was also wondering if this project was just a one time experiment or if further development might happen. Last but not least, would it be possible to fully benefit from the hardware ray tracing acceleration that the latest GPU provide?
The text was updated successfully, but these errors were encountered: