Gentoo Forums
Gentoo Forums
Gentoo Forums
Quick Search: in
GCC i Opencl - jak to ożenić?
View unanswered posts
View posts from last 24 hours
View posts from last 7 days

 
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Polish OTW
View previous topic :: View next topic  
Author Message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 489

PostPosted: Fri Aug 26, 2011 10:26 am    Post subject: GCC i Opencl - jak to ożenić? Reply with quote

Aktualizacja Gentoo, na procku 100% na obu rdzeniach, a Nvidia z dość mocnym ukladem obliczeniowym ziewa i dłubie w nosie ;)

Włączanie CUDA czy Vdpau w gcc nie miałoby sensu - nie tylko Nvidia jest w kompach, ale zarówno Nvidia, jak i ATI czy Intel, mają wsparcie dla interfejsu Opencl.
Sznurek:
http://pl.wikipedia.org/wiki/OpenCL

Czy da się jakoś wykorzystać Opencl przy kompilacji z użyciem GCC?

Pozdrawiam
8)
Back to top
View user's profile Send private message
Crenshaw
Guru
Guru


Joined: 23 Jun 2004
Posts: 474
Location: Poland

PostPosted: Fri Aug 26, 2011 5:39 pm    Post subject: Reply with quote

Nie.
Back to top
View user's profile Send private message
one_and_only
Apprentice
Apprentice


Joined: 13 May 2007
Posts: 250
Location: PL/Krakow

PostPosted: Sat Aug 27, 2011 9:48 pm    Post subject: Reply with quote

Jeszcze nie
http://code.google.com/p/kgpu/
Back to top
View user's profile Send private message
Crenshaw
Guru
Guru


Joined: 23 Jun 2004
Posts: 474
Location: Poland

PostPosted: Sun Aug 28, 2011 12:25 am    Post subject: Reply with quote

Autor watku pytal o przyspieszanie gcc a nie kernela.
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 489

PostPosted: Sun Aug 28, 2011 2:48 pm    Post subject: Reply with quote

Kgpu jest nawet ciekawe.

A ja ogólnie szukam sposobu, żeby zaprząc GPU do roboty, kiedy umiera z nudów.
Najczęściej coś takiego wychodzi przy kompilacji, szyfrowaniu, itp.

Dlatego opencl jest mile widziany w gcc, openssl i gnutls, a vaapi/vdpau w xine-lib i gstreamerze (np do kaffeiny, na której mam dvb, totem bardzo dobrze obsługuje streaming w formacie WMP - nawet lepiej od vlc).
Z xine sprawa o tyle prosta - że xine-lib 1.2 ma obsługiwać vdpau, gstreamer-vaapi już jest - na razie nie działa, ale to kwestia czasu, żeby ruszył.

Co do opencl i gcc - to tutaj już conieco na ten temat było.
Back to top
View user's profile Send private message
Crenshaw
Guru
Guru


Joined: 23 Jun 2004
Posts: 474
Location: Poland

PostPosted: Sun Aug 28, 2011 7:32 pm    Post subject: Reply with quote

Jacekalex wrote:
Kgpu jest nawet ciekawe.

A ja ogólnie szukam sposobu, żeby zaprząc GPU do roboty, kiedy umiera z nudów.
Najczęściej coś takiego wychodzi przy kompilacji, szyfrowaniu, itp.

Co do opencl i gcc - to tutaj już conieco na ten temat było.


Kod generowany przez gcc to nie to samo co kod gcc. Jak najbardziej mozliwe jest aby na podstawie zwyklego kodu generowac kawalki OpenCL'owe. Jednak ze wzgledu na to w jaki sposob dziala przyspieszanie na gpu uzywanie tego do przyspieszania procesu kompilacji jest bez sensu. :)
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 489

PostPosted: Mon Aug 29, 2011 5:58 am    Post subject: Reply with quote

Crenshaw wrote:


Kod generowany przez gcc to nie to samo co kod gcc. Jak najbardziej mozliwe jest aby na podstawie zwyklego kodu generowac kawalki OpenCL'owe. Jednak ze wzgledu na to w jaki sposob dziala przyspieszanie na gpu uzywanie tego do przyspieszania procesu kompilacji jest bez sensu. :)


"de gustibus non est disputandum"


"Wszyscy wiedzą, że czegoś nie da się zrobić. I wtedy pojawia się ten jeden, który nie wie, że się nie da, i on właśnie to coś robi"

Ciekawe, skąd Albert wiedział, że kiedyś pojawi się taka dyskusja :DDDDD

Poza tym:
Według wiki:
Quote:
OpenCL zawiera w sobie język oparty na C99 służący do tworzenia jąder kodu

A od C99 do GCC jest raczej niedaleko:
http://pl.wikipedia.org/wiki/C99
http://gcc.gnu.org/c99status.html

Stąd moje zainteresowanie ....

Pozdrawiam
8)
Back to top
View user's profile Send private message
lazy_bum
l33t
l33t


Joined: 16 Feb 2005
Posts: 689

PostPosted: Mon Aug 29, 2011 5:50 pm    Post subject: Reply with quote

Licz BTC, jak Ci się nudzi GPU. (;

GPU mają _trochę_ inne procesory, więc zaprzęganie ich do „ogólnej” kompilacji jest rzeczywiście bez sensu (nawet gdyby cokolwiek to wspierało, to efekt byłby mizerny — czyli traciłbyś pewnie więcej prądu na zasilanie GPU niż zysk z przyspieszenia kompilacji). Co innego do innych zadań, np. łamania haseł — tu są wielokrotnie szybsze od zwykłego CPU.

Jest też kilka ciekawych projektów korzystających z pamięci karty graficznej — np. cudaram (mocno niestabilny) czy partycja swap/tmpfs w pamięci karty…
_________________
roslin uberlay | grubelek
Back to top
View user's profile Send private message
Crenshaw
Guru
Guru


Joined: 23 Jun 2004
Posts: 474
Location: Poland

PostPosted: Mon Aug 29, 2011 10:52 pm    Post subject: Reply with quote

Jacekalex wrote:
Crenshaw wrote:


Kod generowany przez gcc to nie to samo co kod gcc. Jak najbardziej mozliwe jest aby na podstawie zwyklego kodu generowac kawalki OpenCL'owe. Jednak ze wzgledu na to w jaki sposob dziala przyspieszanie na gpu uzywanie tego do przyspieszania procesu kompilacji jest bez sensu. :)


"de gustibus non est disputandum"



Moze z Twojego punktu widzenia to jest rzecz gustu ale fajnie by bylo zebys mial pojecie o czym piszesz. Zastanow sie na przyklad co to jest prawo Amdahla i jak sie to ma do obliczen na GPU oraz kompilacji. Ja za Ciebie nie bede myslal - chyba ze chcesz wynajac mnie jako konsultanta wtedy inna sprawa ;)

Jacekalex wrote:

Poza tym:
Według wiki:
Quote:
OpenCL zawiera w sobie język oparty na C99 służący do tworzenia jąder kodu

A od C99 do GCC jest raczej niedaleko:
http://pl.wikipedia.org/wiki/C99
http://gcc.gnu.org/c99status.html

Stąd moje zainteresowanie ....

Pozdrawiam
8)


Mieszasz pojecia. Gdybys przeczytal zamiast polskiej chocby angielska wikipedię to moze obeszloby sie bez poruszania jąder... :> Generalnie to polecam specyfikacje OpenCL jest dostepna i mozna wszystkiego na ten temat sie dowiedziec. Jak puszczac jądra na GPU i CPU też.
Back to top
View user's profile Send private message
Jacekalex
Guru
Guru


Joined: 17 Sep 2009
Posts: 489

PostPosted: Tue Aug 30, 2011 2:58 am    Post subject: Reply with quote

Jeśli dobrze zrozumiałem, funkcje dostępne i ich charakterystyka w Opencl, - na tyle odstają od wymagań i specyfikacji gcc, że na razie nie jest możliwe wykorzystanie mechanizmu OpenCL jako akceleratora kompilacji?

W porządku, przyjmuję ten argument, jako aktualny obecnie, w przepowiadanie przyszłości się nie bawię.

Ale ponieważ przymierzam się instalacji systemu 64bit kompilowanego kompilatorem Ekopatch, chciałem najpierw się przekonać, czy w GCC nie pojawiły się jakieś nowe, ciekawe funkcje zwiazane z wydajnością i szybkością, zarówno kompilacji (np wykorzystanie GPU), jak i późniejszego działania kompilowanych programów.

Jedna uwaga - o dyskusji:
Pojęcia typu "jest sens" lub "nie ma sensu" niosą przeważnie subiektywne odczucia, nie zaś rzeczowe argumenty.
Stąd też wątek jest o około 3 posty dłuższy, niż być powinien.
:D

Dzięki za wszystkie odpowiedzi.
Pozdrawiam
8)
Back to top
View user's profile Send private message
Crenshaw
Guru
Guru


Joined: 23 Jun 2004
Posts: 474
Location: Poland

PostPosted: Wed Aug 31, 2011 4:50 pm    Post subject: Reply with quote

Quote:

Ale ponieważ przymierzam się instalacji systemu 64bit kompilowanego kompilatorem Ekopatch, chciałem najpierw się przekonać, czy w GCC nie pojawiły się jakieś nowe, ciekawe funkcje zwiazane z wydajnością i szybkością, zarówno kompilacji (np wykorzystanie GPU), jak i późniejszego działania kompilowanych programów.


Gcc nie jest takie zle - tzn. w porownaniu do open64, icc i ekopatha. Z wewnetrznych testow jakie robilismy wychodzi ze czasem jest troche szybsze a czasem troche wolniejsze (jesli chodzi o szybkosc kompilowanego programu). Testy polegaly na wzieciu kilku programow z shootout.alioth.debian.org i przepuszczeniu przez kompilatory a potem pomierzenie wynikow.

Najfajniejsza rzecza jaka maja w gcc to jest wsparcie do OpenMP ale to przydaje sie przy pisaniu programow. W 4.7 wszedl support do OpenMP 3.1 gdzie sa tzw. taski i tym pewnie daloby sie przyspieszac proces kompilacji chociaz wymagaloby to modyfikacji w kodzie :)

Quote:

Jedna uwaga - o dyskusji:
Pojęcia typu "jest sens" lub "nie ma sensu" niosą przeważnie subiektywne odczucia, nie zaś rzeczowe argumenty.
Stąd też wątek jest o około 3 posty dłuższy, niż być powinien.
:D


ACK.
Back to top
View user's profile Send private message
Display posts from previous:   
Reply to topic    Gentoo Forums Forum Index Polskie forum (Polish) Polish OTW All times are GMT
Page 1 of 1

 
Jump to:  
You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot vote in polls in this forum