• Welcome to Powerbasic Museum 2020-B.
 

News:

Forum in repository mode. No new members allowed.

Main Menu

OpenCL: First header draft

Started by Petr Schreiber, October 29, 2009, 10:32:30 PM

Previous topic - Next topic

0 Members and 1 Guest are viewing this topic.

Petr Schreiber

Hi all,

by the end of the summer, first public implementations (by NVIDIA and ATi) of OpenCL appeared.
OpenCL is library enabling you to use any compute-enabled devices on your PC to perform calculations.

Whats so special about it? Well, the case it can use graphic card (NVIDIA GeForce 8/9/GTX series, ATi Radeon HD 4/5) for computations.
As GPUs are build as very paralelized things, the speed increase can be ... brutal even comparing for assembly optimized code.

That is what I found interesting about it - you can compile OpenCL programs on the fly, and in theory bind them to PB structures. But I did not get that far yet, as there was one obsacle - headers in C (scary horror like music here please).

I post here my humble attempt for translations, any comments and critics are welcome:

José created quality headers, get it here: OpenCL Headers
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Charles Pegge


Hi Petr,

Could you remind us which graphics cards support OpenCL, as this kind of GPU programmability is new technology.

I have my eye on the Fujitsu Amilo PI 3745 Desktop PC which includes an NVIDIA GeForce GT120. I think this will support it as   it supports CUDA.

Maybe it will be powerful enough to compete with the Met office supercomputer - forecasting the weather :)


Charles

Petr Schreiber

#2
Hi Charles,

I think all these should do the job (what does CUDA, does OpenCL + ATi 4000 & 5000 generations):
Quote

ATI Radeon HD 5870
ATI Radeon HD 5850
ATI Radeon HD 5770
ATI Radeon HD 5750

----- generation split -----

ATI Radeon HD 4300
ATI Radeon HD 4550
ATI Radeon HD 4600
ATI Radeon HD 4800
ATI Radeon HD 4830
ATI Radeon HD 4850
ATI Radeon HD 4870
ATI Radeon HD 4890

ATI Mobility Radeon HD 4850 / 4870
ATI Mobility Radeon HD 4830 / 4860
ATI Mobility Radeon HD 4600
ATI Mobility Radeon HD 4500
ATI Mobility Radeon HD 4300



GeForce GTX 295
GeForce GTX 285
GeForce GTX 285
GeForce GTX 280
GeForce GTX 275
GeForce GTX 260
GeForce GTS 250
GeForce GTS 240
GeForce GT 220
GeForce 210

GeForce GTS 150
GeForce GT 130
GeForce GT 120
GeForce G100

GeForce GTX 280M
GeForce GTX 260M
GeForce GTS 260M
GeForce GTS 250M
GeForce GT 240M
GeForce GT 230M
GeForce G210M

GeForce GTS 160M
GeForce GTS 150M
GeForce GT 130M
GeForce G110M
GeForce G105M
GeForce G102M

----- generation split -----

GeForce 9800 GX2
GeForce 9800 GTX+
GeForce 9800 GTX
GeForce 9800 GT
GeForce 9600 GSO
GeForce 9600 GT
GeForce 9500 GT
GeForce 9400GT

GeForce 9800M GTX
GeForce 9800M GT
GeForce 9800M GTS
GeForce 9800M GS
GeForce 9700M GTS
GeForce 9700M GT
GeForce 9650M GS
GeForce 9600M GT
GeForce 9600M GS
GeForce 9500M GS
GeForce 9500M G
GeForce 9400M G
GeForce 9300M GS
GeForce 9300M G
GeForce 9200M GS
GeForce 9100M G

GeForce 9400 mGPU
GeForce 9300 mGPU

----- generation split -----

GeForce 8800 Ultra
GeForce 8800 GTX
GeForce 8800 GTS
GeForce 8800 GT
GeForce 8800 GS
GeForce 8600 GTS
GeForce 8600 GT
GeForce 8500 GT
GeForce 8400 GS

GeForce 8800M GTS
GeForce 8700M GT
GeForce 8600M GT
GeForce 8600M GS
GeForce 8400M GT
GeForce 8400M GS

GeForce 8300 mGPU
GeForce 8200 mGPU
GeForce 8100 mGPU


S3 Graphics 5400E (not sure if available yet)

... and I forgot some for sure.

Please note more "stream processors", more paralelization possible. I have GeForce 9500GT with 32 unified shader processors and I can already see huge performance jump in C++ vs OpenCL examples. Gaussian blur of 1920x1080 image in realtime... nice. I think it is good starting model for such a coding.

Your card seems to be 99% equivalent to mine. Only thing is that 9500GT has 800MHz memories while yours 500MHz, which can make some difference in performance.

The GTX2xx series are fantastic, but very huge and little bit noisy. But also - 120 GT has 32 CUDA processors, and GTX 275 for example has 240 of them. That's why it needs cool air I guess :)

That Fujitsu Amilo PC looks great, like from SciFi.


Petr

P.S. And as a bonus you would get OpenGL 3.2 with your GT120 card, not bad!
AMD Sempron 3400+ | 1GB RAM @ 533MHz | GeForce 6200 / GeForce 9500GT | 32bit Windows XP SP3

psch.thinbasic.com

Charles Pegge

Thanks Petr,

It's all too much! At this rate of development even kettles will have their own quad core 64 bit processors and GPU, which will no doubt serve as the heating element. :)

Charles