[raspi-internals] Fwd: raspi-internals: vb@xxxxxxxxxxxx post needs approval

  • From: Herman Hermitage <hermanhermitage@xxxxxxxxxxx>
  • To: "raspi-internals@xxxxxxxxxxxxx" <raspi-internals@xxxxxxxxxxxxx>
  • Date: Wed, 8 May 2013 22:28:12 +1000

(Having trouble reporting this - so forwarding manually on behalf of vb)

> 
> > From: Volker Barthelmann <vb@xxxxxxxxxxxx>
> >
> > Hello,
> > 
> > I recently bought a raspberry pi and I want to use the GPU as a 
> > test-architecture for some vector-extensions for my C compiler. As a 
> > first step, I want to get scalar code to work reasonably well on the GPU.
> > 
> > So far I have backends for the compiler and assembler that can compile, 
> > assemble and link small programs (not all features are done yet) to be 
> > run with a slightly modified version of the mailbox.c from 
> > https://github.com/hermanhermitage/videocoreiv/wiki/VideoCore-IV-Kernels-under-Linux.
> > 
> > During my work so far I have encountered a few questions that maybe 
> > someone here can answer.
> > 
> > 1. Arithmetic operations like add/sub seem to do some saturating or so. 
> > Is this true? If yes, can this be turned off or are there instruction 
> > variants that do simple two's complement arithmetic?
> > 
> > 2. What restrictions are known regarding the registers r16-r24? It 
> > seems, for example, that they can not be used in ld/st instructions, 
> > although some instruction encodings should have 5 bits for the register.
> > 
> > 3. Is there any more detailed documentation on the mailbox interface? 
> > E.g., are there any registers that may not be used, how much stack is 
> > allocated, etc.?
> > 
> > 4. (Maybe the most interesting question at the moment) Is it possible to 
> > call back ARM code from the GPU, i.e. the other direction of the mailbox 
> > interface? I would like to port a C library and for that I would need 
> > access to a few Linux syscalls. So I would need a mechanism to pass the 
> > information to the ARM, have ARM code execute the syscall and pass the 
> > information back to the GPU. I assume it could be done by a thread 
> > polling some shared memory, but I hope there is a better solution.
> > 
> > If anybody can answer any of the questions that would be great. Also, if 
> > you can point me to more sources of information (my starting point was 
> > https://github.com/hermanhermitage/videocoreiv), that would be much 
> > appreciated.
> > 
> > Thanks,
> > 
> > Volker

Other related posts: