INTL 3:770/1 3:770/3   
   REPLYADDR not@telling.you.invalid   
   REPLYTO 3:770/3.0 UUCP   
   MSGID: <66680dc4@news.ausics.net> e572eae8   
   REPLY: c4d7a659   
   PID: SoupGate-Win32 v1.05   
   bp@www.zefox.net wrote:   
   > Computer Nerd Kev wrote:   
   >>   
   >> No the code running on the GPU is all written by Broadcom and Linux   
   >> software just talks to that, so nothing needs to be compiled for   
   >> the GPU in order to use functionality that's in the stock GPU   
   >> firmware. The bottleneck at this point seems to be mainly   
   >> application developers adding support for the APIs, but this isn't   
   >> an issue with compilers, just the usual limits of time, money, and   
   >> willpower.   
   >>   
   >   
   > Ok, that clarifies things considerably. Is the API public, at least?   
   > Then folks could experiment.   
      
   Broadcom's API is DispmanX, which some programs have used directly,   
   but libbrcmEGL is their library that presents an OpenGL interface   
   and is thus easier to adapt software to. Separately the Linux   
   kernel now has its own drivers, which are used via Mesa. I'm not   
   sure how the performance compares, but the Mesa drivers are the   
   popular ones these days.   
      
   There's more info about the various APIs indexed here:   
   https://forums.raspberrypi.com/viewtopic.php?t=317511   
      
   >> If you want to do more with the GPU than using the routines   
   >> Broadcom's firmware includes, such as support en/decoding other   
   >> video codecs, or using it as a co-processor for non-graphics-related   
   >> tasks, then free compiler options become limited. That gets   
   >> complicated, but it's not much to do with PC-like GPU acceleration   
   >> in web browsers, that is already facilitated by Broadcom's   
   >> pre-compiled GPU firmware binary which runs on the GPU from   
   >> start-up (in fact it's what starts the CPU and Linux up).   
   >   
   > Is this to say that if somebody wanted to write a cryptocurrency   
   > miner for the Raspberry Pi VideoCore they'd need Broadcom's help?   
      
   Only that it would be easier with Broadcom's help. But there's   
   enough info about the QPUs available that it should be possible.   
      
   Here's an early example of the QPUs being used to run custom   
   routines:   
   http://www.aholme.co.uk/GPU_FFT/Main.htm   
      
   More recent is this OpenCL implementation which probably makes it   
   easier to do things like cryptocurrency mining:   
   https://github.com/doe300/VC4CL   
      
   https://kenny-peng.com/2021/09/14/raspi_zero_opencl.html   
      
   The QPU processor cores are used along with one of two more   
   capable VPU processor cores in the VideoCore IV GPU for running   
   the stock GPU firmware. Broadcom released some documentation on   
   the QPUs, but information on the VPU is all reverse-engineered or   
   based on code written by Raspberry Pi developers who obviously have   
   access to the proprietary docs. So that makes writing an   
   open-source replacement for Broadcom's GPU firmware very difficult,   
   but the QPUs can be used for parallel data processing jobs like   
   crypto mining, and some simple things can be done with the VPUs as   
   well.   
      
   --   
   __ __   
   #_ < |\| |< _#   
      
   --- SoupGate-Win32 v1.05   
    * Origin: Agency HUB, Dunedin - New Zealand | Fido<>Usenet Gateway (3:770/3)   
   SEEN-BY: 10/0 1 90/1 103/705 105/81 106/201 124/5016 128/260 129/305   
   SEEN-BY: 153/757 7715 218/0 1 601 700 840 870 930 220/70 221/1 6 360   
   SEEN-BY: 226/17 30 100 227/114 229/110 111 112 113 200 206 300 317   
   SEEN-BY: 229/400 426 428 470 550 616 664 700 240/1120 266/512 267/800   
   SEEN-BY: 282/1038 291/111 292/854 301/1 113 812 310/31 320/219 322/757   
   SEEN-BY: 335/364 341/66 342/200 396/45 460/58 633/280 712/848 770/1   
   SEEN-BY: 770/3 100 330 340 772/210 220 230 5020/400 1042 5058/104   
   SEEN-BY: 5075/35   
   PATH: 770/3 1 218/840 221/6 301/1 218/700 229/426   
      
|