We wrote a small OpenCL ray tracer for 3dsmax/maya:
We're trying to improve our ATI path.
Is it open source?
Maybe ATI people could use this as an example and throw in a little help and show us all how to make this code work on their chips. It would actually make a decent white paper topic.
Originally posted by: kbrafford Is it open source?
Nope, closed source.
Btw, how can I link an image in these forums, pls?
For the time being you can paste the url of the image.
Originally posted by: himanshu.gautam For the time being you can paste the url of the image.
I wonder if he is coding for Nvidia and then simply running the same code on AMD. This could help to explain the perf issues.
but there is one factor and that is lacking of DMA support. this guy http://vimeo.com/user1939105 write own GPU raytracer. and Dave's raytracer now support two modes of computing. first one is hybrid raytracing when GPU act only as intersect device and CPU feed rays to GPU. second GPU-only device move all calculations to GPU.
on first mode 5870 have half of performace of geforce 470-480.
in GPU only mode 5870 and 480 are more comparable so it seems that lack of DMA have big hit on performace.
I noticed that Catalyst 10.10 APP, 10.11 APP and 10.12 APP hangs this program.
Curiously with 10.9 works perfectly as well as with NVIDIA's or Intel's implementation, so it might be some kind of bug present in the Catalyst 10 or in the SDK 2.3.
What kind of test you do to validate a driver? Perhaps you should include this program. It was useful for me to test drivers and OC computer's stability.
Catalyst 11.5 worked well.
Catalyst 11.6 GPU acceleration fails ( curiosly using the CPU device works ok, so it may indicate a bug in your GPU drivers )
What GPU are you testing?
win7 x64 ( without SP1 ), XFX Radeon 5750 512Mb, Catalyst 11.5/6
Can you please post a testcase?
Originally posted by: himanshu.gautam Can you please post a testcase?
Download the 0.5.2b for Win x64.
Execute the standalone renderer.
You can select the devices to use on the left list ( all GPUs enabled by default, so just keep all as it is ).
Press over the left-top icon to start the benchmark.
It will render nothing with 11.6 but it should work with 11.5 ( note: after installing 11.6 the 11.5 won't neither run properly, you must use a computer with 11.5 installed cleanly ).
A small correction: the restrict keyword is not the problem ( I use it in all my pointers ). The problem is the -fno-alias option.
Curiously, all my pointers are using the restrict keyword and I care not using pointer aliasing. I'm not sure why the -fno-alias affects so badly the program.
It renders nothing, all the output values are black.
No error pops in the program debugging it. The "shaders" just return non-sense values.
It's the restrict keyword ( or the -fno-alias ). If I remove it the problem dissapears. Btw, only the GPU fails, works ok on CPU with both restrict and no restrict.
You should add it to your internal test bench. It detects very well problems with your CL compiler, apparently.
Originally posted by: MicahVillmow How -fno-alias was defined it breaks any program that attempts to write to a global pointer.
That explains it, thx.
Because of it, it is being deprecated in SDK 2.5 as const restrict on a per pointer basis is the prefered approach.
Thats better, yep. I currently specify manually which pointers should use restrict and which not.
All clarified then. I'll just recompile it without the -fno-alias.
Retrieving data ...