RPI + Cuda
#1
I am trying to figure out what it would take to get the Raspberry Pi to take advantage of it's powerfull GPU and possibly harness it's power with the CPU to run a cluster MineCraft C++ server in addition to compiling source.
Reply
Thanks given by:
#2
It might be possible in the future to take advantage of the GPU, but I don't think it's likely. MCServer's primary objective is to be a server hosted on VPSs, which usually means no GPU at all.

Last time I checked the RasPi GPU was not programmatically accessible and they said there were no plans to make it accessible.

I think CUDA or any other GPU-based acceleration could be useful for speeding up the world generator, there are calculations there that are the typical cannonfodder for CUDA - calculating a matrix of values based on another matrix of values, in the form of 2D and 3D noise and the upscaling.

This might work really well with the idea of distributing the chunk generator ( https://forum.cuberite.org/showthread.php?tid=1149 ), in that the ChunkServer component mentioned there could use CUDA to speed up the generation.
Reply
Thanks given by:
#3
Maybe it's possible to intigrate OpenCL in MCServer?

My brother and I started talking about programming with the GPU and he said that OpenCL works on both Nvidia and ATI cards, and that it also detects if it should use the CPU or the GPU. I have no idea if everything is true though or if it can even use the GPU of the RasPi but it might be worth investigating.
Reply
Thanks given by:
#4
I think that tycho might be going to be working on some sort of C++/openCL hybrid over the summer holidays.
Reply
Thanks given by:
#5
Im looking at mad technique using c++ templates for codegen to write openCL kernels and openGL ES shaders. (yes you can use openGL shaders for computation if you treat the textures and frame buffer as a byte array). The pi does't support openCL at the moment only openGL ES. At the moment I'm experimenting with the lighting thread as its reasonably self contained and slow on ARM but if I get it working then I'll use for the generator.
Reply
Thanks given by:
#6
It would only be useful for generating terrain though, nothing more.
Reply
Thanks given by:
#7
Yes. But on a lot of pis the gpu is extremely underused so it could provide a major boost.
Reply
Thanks given by:
#8
Also I don't expect the code I'm writing to be accepted onto master as it involves templates 10 layers deep and heavy c++11 functionality.

This is a small type:
Code:
SelectImpl<VecMath::EqualsImpl<VecMath::DoFuncImpl<unsigned char, VecMath::Vector<unsigned char, 589824, void>, void>, VecMath::Zero<unsigned char, 589824>, void>, VecMath::Boolean<unsigned char, 589824>::TrueImpl, VecMath::Vector<unsigned char, 589824, void> >
Reply
Thanks given by:
#9
By the way I have a RaspberryPi and it's GPU is absolutely useless. It's just a good thing for static graphics processing and 2D + vector processing but it's absolutely rubbish for dynamic computing. I tried this stuff myself but the RPi doesn't have any GPU computing interface.
Reply
Thanks given by:
#10
I know, thats why I'm planing to do crazy stuff with image rendering for vectors.
Reply
Thanks given by:




Users browsing this thread: 12 Guest(s)