Cuberite Forum
GPU code - Printable Version

+- Cuberite Forum (https://forum.cuberite.org)
+-- Forum: Cuberite (https://forum.cuberite.org/forum-4.html)
+--- Forum: Development (https://forum.cuberite.org/forum-13.html)
+--- Thread: GPU code (/thread-1480.html)

Pages: 1 2 3 4 5 6 7


RE: GPU code - bearbin - 06-15-2014

I'd go for option 4 also.


RE: GPU code - worktycho - 06-15-2014

I'll code up the veronoi BioGen for option 4.


RE: GPU code - xoft - 06-15-2014

The Voronoi generators will be more difficult than all the others, they aren't exactly suited for value-array calculation.


RE: GPU code - worktycho - 06-15-2014

How about HeightGenClassic. Very simple, looped noise over the entire chunk.


RE: GPU code - xoft - 06-15-2014

Perfect candidate.


RE: GPU code - worktycho - 06-18-2014

Got HeightGenClassic to run on my machine: GPU runtime - 30 microseconds, data transfer - 2 microseconds. Total execution time from en-queuing kernel to finish read back: 303 microseconds. Something tells me that we we want to use this we need to have several chunks in-flight at once.

For comparision: Still using the openCL API CPU runtime - 58 microseconds, total runtime 98 microseconds.

SO significant perfornace increases if we can deal with the latency by doing stuff asyncronsly and batching.


RE: GPU code - worktycho - 06-18-2014

Codes now on the GPUcode branch.


RE: GPU code - NiLSPACE - 06-18-2014

I'm going to try it now Smile Do I have to use some cmake magic to make it compile properly?


RE: GPU code - worktycho - 06-18-2014

No, but you do need an OpenCL compatible SDK and driver. If you've got and ATI card that means a recent version of catalyst and the AMD APP SDK. You may also need to make sure the AMD OpenCL.dll is in you dll search path. CMake might ask you set the OPENCL_INCLUDE_DIR and OPENCL_LIBRARY_DIR though.

Just got total runtime down to 125 microseconds.


RE: GPU code - NiLSPACE - 06-18-2014

I got an error. It can't find "CL/cl.hpp"