Az AMD szerint a CUDA gyakorlatilag halott

Az AMD szerint a CUDA gyakorlatilag halott
2013-08-09T22:34:12+02:00
2013-08-26T01:59:23+02:00
2022-10-23T12:10:35+02:00
  • ,,Belátom a real_het által is felsorolt nehezebb szintaxist, az engem is kikészített, de a zárt szabvány az hosszútávon semmiképpen sem menő."

    Már mitől lenne a CUDA zárt szabvány??
    Mutasd a teljes hozzászólást!
  • Azt az "elso generaciot" en is kiprobaltam HD4000-en: Direkt lassu kodot generalt gondolom azért, hogy a hasonlo kepessegu (1TFlops/sec, nem olyan lassu az) HD5000-es modellek jobban fogyjanak. A HD4000-es OpenCL tamogatas azota is beta jellegu maradt, de mivel nekem pont olyan kartyam volt es valamit akartam csinalni, ezert inkabb belefogtan az egy szinttel lejjebb levo api/nyelv megtanulasaba (cal: ami azota mar deprecated lett, emiatt mégegyet lejjebb kellett mennem, remelem ennel tobbszor mar nem kell, mert annal lejjebb nincs is :D). Nesze neked nyilt szabvany, ha az implementacio viszont zárt.
    Mutasd a teljes hozzászólást!
  • Hát pedig szerintem is OpenCL ... Igaz én nem fogtam ki a CUDA korszakot, én rögtön az "első generációs" OpenCL-el kezdtem.
    Belátom a real_het által is felsorolt nehezebb szintaxist, az engem is kikészített, de a zárt szabvány az hosszútávon semmiképpen sem menő. Nem csak OpenCL-ben, semmiben sem. Mindenki aki csak tud cross-platformosságra igykeszik és cross hardwarességre.
    Mutasd a teljes hozzászólást!
  • Az egyetemi kutatók közül akiknek ilyenre van szükségük, szinte kivétel nélkül CUDA-t használnak, és még életükben nem hallottak az OpenCL-ről, valószínűleg nem is fognak, mert pont ez az a célcsoport, akiknek egy része miatt a CUDA a Fortrant is támogatja.
    Mutasd a teljes hozzászólást!
  • Ja, kicsit korulmenyes az ocl.
    Itt van 2 hello world: OCL CUDA

    Azt figyelembe véve, hogy az OCL hello world-ben fullos hibakezeles van, meg tobb comment, még így is sokkal terjengosebb, mint a cuda.

    A lépések OCL-en: Select Device, Create Context, Create Command Queue, Create Program, Build Program, Create Kernel(from program), Create Buffer, Buffer Write, Set Kernel Arg, GetWorkGroupSize, Launch Kernel, Read Buffer, Free(Buffer,Kernel,Program,CommandQueue,Context)
    Ez insaine, en inkabb irtam ehhez egy wrappert, mert anelkul ez szadomazo :D

    A Cuda meg: Alloc Buffer, Write Buffer, Launch kernel (including SetArg/GetResults), Buffer Read, Free(Buffer)

    Ez a kernel bent van a host programban dolog meg szerintem is nagyon jó dolog.

    Magával a nyelvvel meg a forditoval (Amd) pedig ugy vagyok, hogy evente mindig elkezdek valamit benne, aztan belefutok valami bug-ba es ahelyett, hogy kihamoznám, hogy mi baja van, ideges leszek es inkabb asm-ban ujrakezdem a feladatot lol. Asm-ban legalabb ha hiba van, akkor garantaltan en hibaztam, szoval a hiba javithato.
    Mutasd a teljes hozzászólást!
  • Igen amit aztán mint string megint csak úgy adagolod be futásidőben:
    fread(programBuffer, sizeof(char), programSize, programHandle); // create program from buffer program = clCreateProgramWithSource(context, 1, (const char**) &programBuffer, &programSize, NULL);
    Mutasd a teljes hozzászólást!
  • Ez mondjuk így ebben a formájában nem igaz, kernelt adhatsz be neki fileból is, példa
    Mutasd a teljes hozzászólást!
  • Én használtam CUDA-t. És mit mondjak... nagyságrendekkel jobb mint az OpenCL. Sokkal komplexebb feladatokra kínál komplex megoldásokat ráadásul a fejlesztés is sokkal jobban megy benne. Próbáltam barátkozni az OpenCL-el is de ott adtam fel, mikor mint egy string kellett beadni a kernel kódot a fordításhoz a főprogramnak...
    Mutasd a teljes hozzászólást!
  • Én is nagyot néztem a cikk címe láttán - meg sem fordulna a fejemben mást használni.
    Nem is ismerek senkit, aki OpenCL-t használna CUDA helyett.
    Mutasd a teljes hozzászólást!
  • Argh ide most irtam egy regenyt, aztan jott egy Sting.refresh es ures lett a beviteli mezoooooo :D

    Mind1, a lenyeg az volt, hogy:
    A CUDA az csak az NVidiara jo es gondolom, mar most tudja a legujabb Titan-nak az osszes ujdonsagat.
    Addig az OpenCL pedig se az AMD-hez, sem az NVidiahoz nem passzol. Az csak sajat magahoz passzol, meg ahhoz a torekveshez, hogy gpgpu for the masses.

    Egy extensiont evekig tart atvinni az OpenCL-en, es addigra meg kijon egy uj videokartya generacio lol.
    Szoval szerintem zárt, de up-to-date szabvanyok hajrá!

    Az AMD-OpenCL most kb ott van, hogy hozza a 2012-elotti kartyak tudasat, de az uj GCN architekturaban sokkal tobb rejlik. Az már kajak olyan, mint egy 32magos x86, csak 2048bit-es sse-je van :D Az OpenCL meg alapvetoen 1 thread-ben gondolkozik simd nelkul. Akarmennyire is dolgozik az AMD csapat az OpenCL-en, rengeteg hardware jóság marad kihasznalatlanul, amit vagy csak a jatekokbol lehet elerni, vagy csak gepi kodbol. A CUDA-ban meg pl. ottvan az uj kernelbol inditod a kernelt cucc, az hany ev mulva lesz majd OpenCL-be bevezetve?!

    Van még itt gpgpu arc amugy? Pláne, aki NVidias... Ugye, hogy jo a CUDA?
    Mutasd a teljes hozzászólást!
Tetszett amit olvastál? Szeretnél a jövőben is értesülni a hasonló érdekességekről?
abcd