cancel
Showing results for 
Search instead for 
Did you mean: 

Archives Discussions

bubu
Adept II

ratGPU OpenCL raytracer

We wrote a small OpenCL ray tracer for 3dsmax/maya:

 

http://santyhammer.blogspot.com/2010/08/ratgpu-031-alpha.html

http://www.ratgpu.com

 

 

We're trying to improve our ATI path.

0 Likes
19 Replies
kbrafford
Adept II

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.

0 Likes

Originally posted by: kbrafford Is it open source?


Nope, closed source.

 

 

Btw, how can I link an image in these forums, pls?

0 Likes

For the time being you can paste the url of the image.

0 Likes

Originally posted by: himanshu.gautam For the time being you can paste the url of the image.

 

Like this?

http://img205.imageshack.us/img205/2012/ratgpucrystals.jpg

0 Likes

yes.

0 Likes
ryta1203
Journeyman III

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.

0 Likes

most likely.

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.

0 Likes

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.

0 Likes

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 )

 

0 Likes

What GPU are you testing?

Jeff

0 Likes

win7 x64 ( without SP1 ), XFX Radeon 5750 512Mb, Catalyst 11.5/6

0 Likes

Can you please post a testcase?

0 Likes

Originally posted by: himanshu.gautam Can you please post a testcase?

 

www.ratgpu.com

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 ).

 

 

 

0 Likes

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.

0 Likes

Can you please post a testcase?

0 Likes

bubu,
Can you clarify the failure?
0 Likes

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.

0 Likes

bubu,
How -fno-alias was defined it breaks any program that attempts to write to a global pointer. Because of it, it is being deprecated in SDK 2.5 as const restrict on a per pointer basis is the prefered approach.
0 Likes

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.

Thanks!

 

0 Likes