Justanick
Posts: 24
Joined: Sun Apr 01, 2012 10:12 pm

Re: Development environments

Tue Apr 03, 2012 4:07 pm

I think there was a little misunderstanding.

I was not talking about no to use the standard libs or to use low level access to the GPU.

The thread should deal, with the way how the application are designed. How the application workload is divided between GPU and CPU. Does the programmer use the GPU for the picture zoom on the tablet for the preview or the CPU et cetera.

For the Pi a higher usage of the GPU may be an advantage compared to only CPU based apps.

User avatar
[email protected]
Posts: 2020
Joined: Tue Feb 07, 2012 2:14 pm
Location: Devon, UK
Contact: Website

Re: Development environments

Tue Apr 03, 2012 6:17 pm

Justanick said:


I think there was a little misunderstanding.

I was not talking about no to use the standard libs or to use low level access to the GPU.

The thread should deal, with the way how the application are designed. How the application workload is divided between GPU and CPU. Does the programmer use the GPU for the picture zoom on the tablet for the preview or the CPU et cetera.


I've no idea how tablets handle it and James might be in a better position to reply to this, as I'm not an OpenGL programmer, (SDL is my limit!) but as I understand it, broadly speaking, you define a scene with objects, surfaces, textures and so on and literally then ask OpenGL to render it. Zoom in by changing the viewpoint in the scene. You don't actually do the work, so in effect your data set is really a very high level program/definition for the underlying software libraries (hopefully accellerated by the GPU) to work with. (I'm sure there's a lot more to it than that though) So from that point of view, you're using the GPU without even knowing it.

the SDL stuff that I'm familiar with is all 2D really, but if I wanted to move  sprite on the screen, or from one screen to another then I'd call a library routine and that, if the hardware supported it would then do the copy using acceleration rather than just word to work memory copy... (although that's really a blit operation and not compute)


For the Pi a higher usage of the GPU may be an advantage compared to only CPU based apps.



Possibly - and in my past I've worked with supercomputer companies one which developed a multi-core co-processor - arguably the forerunner to modern GPUs (it was actually originally a graphics chip!) One of the biggest issues I heard went along the lines of: "I've got this 30 year old FORTRAN program.. Make it faster for me"... So we did the same things but for the maths world - provided libraries and fortunately there were already standard libraries to work with - BLAS, Linpack, etc. so if we provided those libraries that worked on the chip, then re-link their program it would immediatly go faster. Obviously it would go even faster if they re-coded it to run on the chip directly, but that was much harder...

So what you're maybe after is a set of standard maths libraries for the GPU on the RPi... (vector add/multiply that sort of stuff - the things that may make manipulating a static image easier for photo fades, etc. oe FFT type libraries if youre into signal processing and so on) Whether Broadcom will write them is another matter! I suspect not, as really if you want more grunt it's much easier to simply use a faster processor with more capabilities, however who's to say what - might be a good proof of concept... (and I suspect not that hard to do in reality once you've got OpenGL out of the way

G
--
Gordons projects: https://projects.drogon.net/

jamesh
Raspberry Pi Engineer & Forum Moderator
Raspberry Pi Engineer & Forum Moderator
Posts: 26038
Joined: Sat Jul 30, 2011 7:41 pm

Re: Development environments

Tue Apr 03, 2012 9:16 pm

I'm not an OpenGL or OpenVG programmer either. However, I have seen Android ICS running on a device with a Videocore 4 in it, and the transition effects are really rather splendid. Amusing it was 1GHz or similar single core, so the GPU was doing most of the work. Not sure what API was being used though, again, I assume OpenGLES. ICS does require a LOT of help from the GPU.
Principal Software Engineer at Raspberry Pi (Trading) Ltd.
Contrary to popular belief, humorous signatures are allowed. Here's an example...
I've been saying "Mucho" to my Spanish friend a lot more lately. It means a lot to him.

DiNGBaT
Posts: 1
Joined: Wed Aug 29, 2012 8:16 pm

Re: Development environments

Wed Aug 29, 2012 8:54 pm

I have a nice setup that is worth considering or testing out:

On PC installed Xming + putty, netbeans 7.2 (C++ version)
On Pi installed gcc and gdb, samba server and shared a user home directory, for me root users.

Now on PC mapped Pi share to drive letter P. In NB create a new project of some kind and use the share for the location, (will save files on Pi). Now right click the project, click build, click 3dot button at end of 'Build Host', click add, type in the Pi hostname (just hostname no slashes), press enter. You should see a screen asking you for login info, fill it in. Thats it, when you press run it will ask you to sync locations of files, point one at PC share files dir, the otherside at files on PI dir, same files, Then it will compile and run on Pi, stdout is NB window, if its graphics then xming will pop up a window with the screen from the Pi.

It works great, fast PC netbeans IDE, results compiled and run/debugged on Pi. May have missed a few details but you should get the picture. Clean compiles a small SDL graphics app (~5 source modules) in around 20 seconds, only recompiles changed sources somehow.


Just my input.... did not take long to figure out and test

Thanks

DiNGBaT

liorbublil
Posts: 1
Joined: Mon Mar 03, 2014 9:24 am

Re: Development environments

Mon Mar 03, 2014 9:34 am

Hi,

I saw a very good datasheet that really explain step by step how to install a development environment to the PI using Eclipse.
This company made some product using the PI, but the datasheet is useful anyway.
You can see in this link:
http://www.gatetel.com/products.php?product=53

under "EZMoto V2 Development Environment".

Return to “General discussion”