m4rs-mt / ILGPU

ILGPU JIT Compiler for high-performance .Net GPU programs

Home Page:http://www.ilgpu.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Debug.Assert is not take effect on opencl

tianmafly opened this issue · comments

commented

There are no discrete graphics. The integrated graphics is Intel(R) UHD Graphics. The Debug.Assert take effect when use the cpu accelerator. But the Debug.Asset take no effect when use the opencl accelerator. Is something wrong? thanks.

image
image

Hi @tianmafly, welcome to the ILGPU community. Thank your for submitting this issue. Indeed, the OpenCL accelerator does not support debug assertions and interop output, in general. You can still verify your algorithms using the CPU accelerator by choosing the appropriate virtual device configuration to match your target accelerators. However, we consider supporting those functions in one of the next releases.

commented

Hi @tianmafly, welcome to the ILGPU community. Thank your for submitting this issue. Indeed, the OpenCL accelerator does not support debug assertions and interop output. You can still verify your algorithms using the CPU accelerator by choosing the appropriate virtual device configuration to match your target accelerators. However, we consider supporting those functions in one of the next releases.

thank you. But I find this. Does it mean that Debug.Assert can be used with gpu of Opencl?
https://ilgpu.net/docs/03-advanced/06-debugging-and-profiling/
image
And the interop output of OpenCL is effective,but it has no line breaks.
image

Thanks for your response regarding this topic. It's important to be precise when discussing the implications of supporting certain aspects. ILGPU lowers the Interop.WriteLine instructions by leveraging the printf function exposed within OpenCL shader API. However, some drivers may not properly support the printf function, resulting in no visible output on the command line or poorly formatted strings appearing on the screen.

Regarding Debug.Assert instructions, it's important to note that ILGPU does not lower these instructions to any counterpart on the OpenCL side due to a lack of proper support for such operations at this time. To ensure clarity and accuracy within our documentation, we should explicitly mention that debug assertions are currently unsupported in OpenCL contexts.

@NullandKale we should properly adapt the documentation to explicitly mention that debug assertions are not supported on OpenCL at the moment.
@kilngod @Yey007 Any idea on how we can support debug assertions on Vulkan?

@m4rs-mt, hi, just saw this. I'm not sure right off the bat but I'll try to get back to you with something soon.