Cookies op Tweakers

Tweakers maakt gebruik van cookies, onder andere om de website te analyseren, het gebruiksgemak te vergroten en advertenties te tonen. Door gebruik te maken van deze website, of door op 'Ga verder' te klikken, geef je toestemming voor het gebruik van cookies. Wil je meer informatie over cookies en hoe ze worden gebruikt, bekijk dan ons cookiebeleid.

Meer informatie

Door , , 41 reacties
Submitter: rvannieuwpoort

Nvidia heeft de Vrije Universiteit in Amsterdam gekozen als eerste Nederlandse Cuda Teaching Center. De universiteit biedt een lessenpakket aan rond gpgpu-technologie met het Cuda-platform op de DAS-4-supercomputer van de VU.

Nvidia Cuda

Met het Teaching Center Program wil Nvidia dat universiteiten met een informatica-opleiding lessen gaan aanbieden in het gebruik van zijn gpgpu-techniek. Daarbij kan het bedrijf studiemateriaal en werkapparatuur doneren als de universiteiten gebruikmaken van de Cuda C/C++-technologie, zodat de studenten hands-on-ervaring krijgen met het platform.

Rob van Nieuwpoort, die aan de VU lesgeeft in gpu-computing, heeft de aanvraag voor het Teaching Center Program ingediend. Nu Nvidia die heeft aanvaard, krijgt de Vrije Universiteit Amsterdam onder andere tien GTX 480-videokaarten en twee Tesla C2075-varianten, die speciaal zijn bedoeld voor gpu-computing. Die kaarten worden in de DAS-4-supercomputer van de VU geïnstalleerd. Dat cluster staat ter beschikking van onderzoekers om zeer rekenintensieve taken uit te voeren.

In het vak Parallel computing, dat onder de masteropleiding Informatica van de VU valt, leren studenten applicaties schrijven die gebruikmaken van parallelle rekenkracht. Cuda zet hiervoor het grote aantal rekenkernen waarover grafische kaarten beschikken in. Een van de opdrachten die de studenten in het nieuwe lessenpakket zullen krijgen, is bijvoorbeeld om met gebruik van Cuda via de commandline een afbeelding op de DAS-4-cluster te bewerken. Op de cluster kan overigens ook OpenCL, de open alternatieve standaard, worden gebruikt.

Ook zal het Lofar-project, dat probeert om het heelal aan de hand van radiogolven in kaart te brengen, misschien gebruikmaken van de gpgpu-technologie van het DAS-4 cluster om de ontvangen data te verwerken.

Moderatie-faq Wijzig weergave

Reacties (41)

Absurd dat een academische instelling zoals de VU in zee gaat met zo'n gesloten platform. Ze kunnen in mijn ogen veel beter OpenCL cursusen aanbieden.
Ik begrijp je bezwaar, daar is ook goed over nagedacht intern binnen de VU.
De voordelen wegen volgens ons op tegen de nadelen. CUDA is toch wel de defacto standaard in de industrie hoor.

Uiteraard komt OpenCL ook aan de orde (ben er een groot voorstander van). Alle many-core research die we op de VU doen doen we bijvoorbeeld met OpenCL. Verder bespreek ik in het college uitgebreid de ATI GPU hardware, de Cell processor (van de PlayStation3), AMD magny-cours CPUs, etc.

Het voordeel van CUDA is dat de learning curve voor studenten wat lager is, de tools zijn ook gewoon erg goed. Als je CUDA beheerst en ook de hardware begrijpt is de stap naar OpenCL makkelijk gemaakt...
Worden die cursussen ook via internet aangeboden? Via iTunes U of iets dergelijks?
Helaas niet :'( Daar zou ik zeker voorstander van zijn inderdaad, maar we zijn nog niet zo ver dat we alle colleges filmen... De slides staan wel online, zie

http://www.cs.vu.nl/~bal/college11.html

Het GPU/many-core deel staat onderaan die pagina. Verder gebruiken we een aantal wetenschappelijke artikelen, waarvan sommigen achter een paywall staan :'( (studenten kunnen hier wel gratis bij. Maar hier wat meer info over de stof die we oa gebruiken:

paper over het modelleren van de performance van GPU codes [achter paywall]:

http://cacm.acm.org/magaz...lticore-architectures/pdf

Fermi white paper [gratis]:

http://www.nvidia.com/con...chitecture_Whitepaper.pdf

Paper over many-core computing in LOFAR, gebruikt ook de Cell processor, ATI GPUs en OpenCL [gratis]:

http://www.cs.vu.nl/~rob/papers/ijpp-2010-correlator.pdf
Aan de VU worden nu al meerdere theses geschreven op basis van projecten die zowel Cuda als OpenCL gebruiken. Deze theses richten zich vooral op hoe men het beste bepaalde problemen kan aanpakken en hoe de algoritmes voor deze problematiek zich verhouden tot elkaar qua complexiteit e.d.. Vaak wordt er ook gekeken naar waar een algoritme het beste op geimplementeerd kan worden. En zowel Cuda als OpenCL hebben daarbij hun charmes....

[Reactie gewijzigd door commjoenie2011 op 6 maart 2012 17:38]

NVidia ondersteunt ook OpenCL ( http://developer.nvidia.com/opencl ), maar CUDA is momenteel wat meer geschikt voor de beginnende GPU programmeur. Er zijn veel meer boeken beschikbaar met een lage instap en er zijn een berg tools beschikbaar om je code mee te analyseren.
Volgens mij gaat het bij de VU niet om beginnende programmeurs en lesmateriaal zouden ze zelfs zelf moeten kunnen maken.

Voor een amateur die thuis gaat aanklooien kan ik me voorstellen dat je CUDA adviseert, maar de doelgroep is hier toch echt wel wat anders.

[Reactie gewijzigd door mjtdevries op 6 maart 2012 17:28]

Ik mis de motivatie waarom je OpenCL dan prefereert boven Cuda.
proprietair vs. (open) standaard...

Hoeveel meer motivatie heb je nodig?
Het feit dat mensen proprietair kiezen boven een open standaard is niet per definitie een evil conspiracy theory, het is vaak dat het proprietair gewoon beter is. Zeker op het huidige niveau --- er zijn nog niet eens veel papers over efficient sorteren op een GPU, iets wat standaard basis kennis is binnen alle andere algorithmiek onderdelen --- merk je dit soort verschillen, gpgpu staat in de kinderschoenen en Nvidia is gewoon een merkbaar aantal jaar ouder. Daarnaast heeft Nvidia zelf natuurlijk ook een aanbod tot het gpgpu Training Center, AMD heeft dat (afaik) niet.

Verder, puur kiezen op open standaard vs. proprietair is natuurlijk ook onzin. Gebruikersgemak, debugmogelijkheden, leercurve, mogelijkheid tot gebruik van libraries, vergelijken tot andere implementaties (voor papers, zo goed als alle huidige papers over gpgpu zijn gebaseerd op cuda), etc tellen ook allemaal mee. Nu ken ik OpenCL amper, maar cuda is op geen enkel punt daarin zo slecht dat je er niet voor zou moeten kiezen.

Tot slot, Nvidia's kaarten kunnen ook prima OpenCL aan als je dat zou willen. Dus als je echt wil (voor lessen) kun je OpenCL ook prima toepassen; het zij zonder de ondersteuning die de docent/training center je eventueel kan aanbieden, maar dat probleem heb je hoe dan ook voor OpenCL.

Prima keuze dus van de VU wat mij betreft. Ze hadden het ook prima voor de TU/e mogen regelen wat mij betreft :)
Nvidia is gewoon een merkbaar aantal jaar ouder
Dat is gewoon aantoonbaar onjuist.
Nvidia en ATI/AMD zijn tegelijkertijd begonnen met gpgpu. Nvidia heeft wat betere marketing gedaan, maar de eerste demonstraties kwamen juist van ATI.
Verder, puur kiezen op open standaard vs. proprietair is natuurlijk ook onzin
In de rest van de wereld is zo ongeveer iedereen het er over eens dat open standaarden een pre zijn.

Juist omdat gpgpu nog in de kinderschoenen staat is dat een uitstekend moment om niet opnieuw de fout te maken om eerst weer propietair aan de slag te gaan met de nodige nadelen van vendor lockin etc.
Vooruit, ik maak een typo. Cuda is een merkbaar aantal jaar ouder.
- Nvidia Cuda: Februari 2007 SDK.
- Ati Stream: December 2007, inmiddels gedumpt.
- OpelCL: First Demo December 2008 (zowel Nvidia als Ati), SDK in april 2009 (Nvidia) of augustus 2009 (Ati).
Met betrekking tot SDK, dat betekend dat OpenCL ruim 2 jaar achterstand heeft, op iets wat pas 5 jaar oud is. Wat is precies aantoonbaar onjuist?

Ten tweede, ik heb het over *puur* kiezen op open vs. proprietair, er zijn meerdere factoren. Maar ja, ideaal gezien zou je voor OpenCL moeten kiezen. In praktijk denk ik dat het voor een universiteit goed is dat ze de deal met Nvidia hebben gesloten. Gratis hardware (portability opgelost), en verder alleen maar meer voordelen. En tegen de tijd dat OpenCL volwassen is zal het contract waarschijnlijk wel afgelopen zijn. Daarnaast komt nog bij dat je ook in de tussentijd op Nvidia apparatuur OpenCL kunt draaien, dus Cuda is gewoon te ontwijken.

Als je gaat vallen over het feit dat Cuda in de collegezalen wordt gegeven kan ik je alvast afraden om ooit Java, C# oid te programmeren. Je leert een concept, en met een paar uur prutsen kom je in een andere taal net zo ver. Nouja, niet met OpenCL, omdat OpenCL gewoon zwakker is :P
En een pré betekent dus dat je bij gelijke geschiktheid kiest voor de open standaard. In de praktijk is CUDA echter vele malen makkelijker om mee te werken, omdat er meer gebruikers zijn die je kunnen helpen en omdat de tools en documentatie die NVIDIA beschikbaar stelt veel beter zijn dan voor alle andere GPGPU platformen.

De keuze voor CUDA is dus helemaal niet raar in dit geval, ook ben ik zelf ook voor het gebruik van open standaarden.
Cuda werkt alleen bij Nvidia, terwijl OpenCL kan werken op GPU's (of zelfs multi-core CPU's, in afwezigheid van een goede GPU) van alle fabrikanten.
Dan moet AMD hun maar kaarten sturen.
http://pressroom.nvidia.c...57&xhtml=true&prid=831864

Maar goed dat mag niet want alles is kwaadaardig bedoelt.
OpenCL is niet van AMD, dus AMD hoeft niets te sturen.

Sterker nog, nvidia ondersteunt inmiddels ook gewoon OpenCL naast Cuda.

Dus ja, dit is eigenlijk niet correct van de VU, dat ze hier mee in zee gaan, om enkel op dit gesloten platform les te geven.
Punt is wel:
1. Cuda is momenteel nog sneller dan OpenCL
2. Nvidia werkt mee aan de OpenCL ontwikkeling, maar blijft voorlopig op Cuda concentreren omdat dit nog steeds sneller is
3. Als je Cuda kan, kan je ook OpenCL, er is echt praktisch geen verschil.
4. Met alle bezuinigen van tegenwoordig is dit een slimme manier aan hardware te komen en je studenten toch wat (nieuws) te laten leren. :)

Uiteindelijk ziet nvidia ook in dat OpenCL de bindende standaard is, en dat het daar toch naar toe gaat. Ze zijn zelf ook maar al te blij met directx en opengl, want dan blijven ontwikkelaars lekker veel applicaties maken voor hun kaarten ;)

[Reactie gewijzigd door wootah op 6 maart 2012 17:46]

Maar als je OpenCL kan kan je dus ook Cuda?
Maar als je OpenCL kan kan je dus ook Cuda?
Ja. Het is in principe namelijk hetzelfde.

Als je in Java kunt programmeren, is C# leren ook niet zo moeilijk meer.
Gratis hardware? aantal last gen kaarten en twee tesla's? Een gegeven paard mag je niet in de bek kijken, maar ik vind dat Nvidia hier toch heel goedkoop reclame en cuda professionals in spe koopt.
Moet je wel correcte punten aanvoeren. :)
1. CUDA is niet sneller dan OpenCL. Op NVidia zijn de CUDA-compilers (ietsje) meer geoptimaliseerd om strategische redenen, maar beide worden gecompileerd naar PTX dus zijn theoretisch even snel. Er zijn zat applicaties die sneler draaien op AMD of zelfs CPU's (ivm transfer-tijd) - met OpenCL dus.
2. NVidia zet CUDA op de voorgrond omdat dit hun grafische kaarten verkoopt.
3. OpenCL is ontwikkeld om te werken op meer hardware dan alleen grafische kaarten, en is daarom veel uitgebreider.
4. Mee eens. :) NVidia gebruikt dezelfe truc als MS met goedkope producten voor universiteiten.

Op universiteiten is het tegenwoordig steeds belangrijker dat studenten aansluiting hebben op de arbeidsmarkt en het beeld heerst dat NVidia's CUDA over 5 jaar alleenheerser is.

Nog over je punt 3. Mensen veranderen niet graag als ze eenmaal vertrouwd zijn met een merk, dus al zou het eenvoudig zijn om van CUDA naar OpenCL te gaan (of van C# naar Java), de realiteit is dat men veelal bij hun eerste keuze blijft. Dus hier kan je niet luchtig over doen.

Meer over de ontwikkelingen van OpenCL kun je lezen op http://www.streamcomputing.eu/blog/
Zo "Gesloten" zou ik dit platform niet willen noemen.
Er is een API beschikbaar, welke goed gedocumenteerd is(!) en deze is gratis te gebruiken.
Dat is al best wat.
Overal ter wereld word dit gedaan het is niet om mensen om te kopen, maar om het bedrijf voor de toekomst zeker te stellen, er werken duizenden mensen die afhankelijk zijn van hun werkgever.

Door deze studenten kennis te laten maken met Cuda garandeer je dat die generatie studenten het allemaal kennen en kunnen, en voor je het weet zit het overal in het bedrijfleven, == inkomsten voor Nvidia

edit: microsoft/macromedia etc doen het zelfde.

Mocht er daadwerkelijk een beter alternatief zijn, dan zal je een volgende 'Google' uit de lucht zien schieten omdat die het wel beter wisten :p

Bedrijven die investeren, (en waar heel de wereld economie op gebaseerd is) zijn welkom in mijn Nederland!
Hiermee garandeer je een toekomst! als bedrijf en als land en jij als persoon.
Beter aan het werk dan simpel het handje hoog te houden!

Dus in tijden van deze ben ik blij dat er bedrijven investeren in de toekomst, de nieuwe generatie mensen die ons allen een goed of zelf een betere welvaart/vooruitgang kunnen brengen.

:)

[Reactie gewijzigd door T-Forever op 6 maart 2012 17:46]

Het is misschien niet helemaal kies, maar Het verschil tussen OpenCL en CUDA is niet dusdanig groot dat je je er druk over moet maken.
Universiteiten hebben op het moment grote moeite om geld en middelen binnen te krijgen. Eerst en tweede geldstromen drogen op, dus moeten derde geldstromen aangeboord worden. Als Nvidia zegt "hier hebben jullie een berg kaarten, lesmateriaal etc, veel succes er mee", dan zou de opleiding wel gek zijn om dat af te slaan.
Ze laten zich omkopen met 12 gratis kaarten.
Voor een beginner maakt het trouwens niet zo veel uit of je nou met Cuda of OpenCL begint.
Beetje kwestie van smaak. (Denk C# vs Java).
Concepten blijven hetzelfde.

De UvA (beetje een concurrent van de VU) zou nu kunnen proberen een deal te sluiten met AMD ;)
Welkom in de wereld van geld!
ik neem aan dat de opleiding meer bevat dat alleen dit.

dus wellicht dat ze daarnaast ook lessen hebben voor openCL, en dus niet alleen voor dit platform.

en waarom is het een probleem om in zee te gaan met een gesloten platform?
"waarom ?" werd gevraagd, en geen antwoord op gegeven.

ik vind het helemaal geen probleem. studenten die leren programmeren op een closed source platform kunnen ook programmeren op een open platform, en cuda is op dit moment de bog-std voor programmable gpgpu.
Nitpick:
De DAS-4 "supercomputer" is niet echt een super computer en is ook niet van de VU, maar bestaat uit 6 grid clusters die eigendom zijn van de Universiteit van Amsterdam (2 clusters), Vrije Universiteit, Universiteit van Leiden, Technische Universiteit van Delft en ASTRON (elk één cluster).
(beetje kwestie van definitie van wat is een "supercomputer", maar goed).

Deze kaarten worden alléén op het cluster van de VU geïnstalleerd. Niet DAS-4 wide.

http://www.cs.vu.nl/das4/
net even verder gekeken op die link van je :)
en het blijkt dat er meerdere nodes zijn met gpu's die cuda / opencl capable zijn

zie: http://www.cs.vu.nl/das4/special.shtml

Ik neem aan dat de sutenten van de vu ook de machines van bijv. astron mag gebruiken:
At fs5.das4.astron.nl the following special-purpose equipment is available:

•1 special node (b7015) has 8 GTX 580 3GB GPUs, that can be used for GPU scaling experiments and "green computing" research.
•1 special node (r815) has 48 cores (quad Opteron 6172), 128 GB memory, 4 * 240 GB PCIe SSD (RAID0), and a fast 8 * 2 TB external RAID (up to 1000 MB/s)
•1 special node (node521) has 4 InfiniBand HCAs and a HotLava hex-port 10-GbE interface, for I/O experiments.
•1 special node (node522) has another hex-port 10-GbE interface (connected to node521).
•1 regular compute node (node501) has an ATI HD 6970 GPU (2GB)
•1 regular compute node (node502) has an Nvidia C2050 GPU (3GB)
•1 regular compute node (node503) has an Nvidia GTX 580 GPU (3GB)
Klopt...

Zoals hieronder al staat is er nog veel meer leuke hardware in DAS-4.
Studenten / medewerkers / onderzoekers kunnen een account krijgen op DAS-4. Die account werkt dan meteen op alle sites, zodat je alle hardware kunt gebruiken, en hardware vergelijkingen kunt doen, etc. Veel van onze papers vergelijken bv GPGPU codes tussen ATI en NVIDIA.

Dus ook alle andere DAS-4 instituten kunnen de hardware van NVIDIA gewoon (gratis) gebruiken.

[edit] Het gaat ons trouwens absoluut niet om de gratis hardware van NVIDIA, daar hadden we al genoeg van :) Het gaat om de naam "CUDA teaching center" en het prestige en de pr die daar bij hoort. GPUs programmeren is gewoon leuk, en de VU is de beste plek om dat te leren </shameless_plug>. We hopen hiermee uiteindelijk natuurlijk studenten te trekken...

[Reactie gewijzigd door rvannieuwpoort op 7 maart 2012 11:53]

Ik vind dit juist een goede ontwikkeling.
De aansluiting van bedrijven op opleidingen is iets wat naar mijn idee moet worden aangemoedigd. Dit zorgt er tenminste voor dat opleidingen over de nieuwste technieken beschikken.

Naar mijn ervaring, lopen de opleidingen redelijk vaak achter op de ontwikkelingen in het bedrijfsleven.
@judgewooden:
Vergeet niet dat CUDA eerder bestond en verreweg meer mogelijkheden heeft en betere support heeft dan OpenCL. De OpenCL implementatie/specificatie loopt dus een beetje achter CUDA aan.
Wel is het zo dat ik verwacht dat OpenCL die achterstand ooit in zal halen. Tevens is het ook zo dat OpenCL ook ondersteund wordt door NVIDIA zoals al aangegeven door anderen. Alleen de ondersteuning is minder. Wel kan bemerkt worden dat blijkt dat het performanceverschil tussen beide standaarden in bepaalde situaties best klein kan zijn.
Voor een academische instelling is vooral ook de architectuur van CUDA (dus niet de API) intressant.Verder werken ATI kaarten in grote mate gelijkwaardig. Vooral de manier waarop we grafische kaarten goed in kunnen zetten is van academisch belang. Het feit welke API gebruikt wordt, is weer een ander verhaal. Het liefste worden dingen dan ook generiek gehouden.
Verder is het ook zo, dat niet al te exotische CUDA/OpenCL implementaties redelijk gemakkelijk te porten zijn naar OpenCL/CUDA.

Ga overigens maar eens kijken bij wetenschappelijke publicaties. Hier wordt veel CUDA gebruikt, zo wordt ook een CUDA server gebruikt op de Technische Universiteit in Eindhoven.
Betere support? Dan bedoel je niet hardware-support.

OpenCL werkt op:
  • NVidia GPU's
  • AMD GPU's
  • AMD CPU's met SSE en AVX
  • Intel CPU's met SSE en AVX
  • IBM POWER
  • ARM (ST-Ericsson, ZiiLabs en meer)
  • FPGA's van Altera (nog in ontwikkeling)
CUDA werkt op:
  • NVIDIA GPU's
  • Intel CPU's (indirect, compiler nog niet geoptimaliseerd)
  • AMD CPU's (idem)
CUDA heeft momenteel wel meer libraries zoals CULA, maar deze zijn voor OpenCL al in ontwikkeling.
Ook zal het Lofar-project, dat probeert om het heelal aan de hand van radiogolven in kaart te brengen, misschien gebruikmaken van de gpgpu-technologie van het DAS-4 cluster om de ontvangen data te verwerken.
Hoezo? :?
Speciaal voor LOFAR staat er bij de RuG een IBM BlueGene /P.
http://www.lofar.org/abou...essing/central-processing
Een wetenschappelijke instelling moet ten alle tijden onafhankelijk zijn en zich niet inlaten met dit soort bedrijven voor een paar centen. Een universiteit moet onderzoek doen naar parrallelisatie van code en niet een bedrijf met een gesloten platform verder helpen!
Nou nee. Juist de bèta-opleidingen van universiteiten doen ook research e.d. om aan extra geld te komen. Al die dure apparatuur die daar staat betaalt zichzelf niet met overheids- en collegegeld.

Overigens is het idee dat universiteiten blijkbaar alleen open standaarden moeten supporten, nogal onzin. Het is eerder gezegd dat CUDA programming zich goed vertaalt naar andere vergelijkbare technieken, maar met een wat lagere learning curve. En als universiteit is je eerste doel nog steeds ervoor zorgen dat je student een zo goed mogelijke opleiding krijgt!

Op dit item kan niet meer gereageerd worden.



Apple iOS 10 Google Pixel Apple iPhone 7 Sony PlayStation VR AMD Radeon RX 480 4GB Battlefield 1 Google Android Nougat Watch Dogs 2

© 1998 - 2016 de Persgroep Online Services B.V. Tweakers vormt samen met o.a. Autotrack en Carsom.nl de Persgroep Online Services B.V. Hosting door True