Mon compte

connexion

inscription

   Publicité R▼


 » 
allemand anglais arabe bulgare chinois coréen croate danois espagnol espéranto estonien finnois français grec hébreu hindi hongrois islandais indonésien italien japonais letton lituanien malgache néerlandais norvégien persan polonais portugais roumain russe serbe slovaque slovène suédois tchèque thai turc vietnamien
allemand anglais arabe bulgare chinois coréen croate danois espagnol espéranto estonien finnois français grec hébreu hindi hongrois islandais indonésien italien japonais letton lituanien malgache néerlandais norvégien persan polonais portugais roumain russe serbe slovaque slovène suédois tchèque thai turc vietnamien

Significations et usages de OpenCL

Définition

⇨ voir la définition de Wikipedia

   Publicité ▼

Wikipedia

OpenCL

From Wikipedia, the free encyclopedia

Jump to: navigation, search
OpenCL
Original author(s)Apple Inc.
Developer(s)Khronos Group
Stable release1.0 / December 8, 2008; 16 months ago
Operating systemCross-platform
TypeAPI
LicenseRoyalty Free
Websitewww.khronos.org/opencl

OpenCL (Open Computing Language) is a framework for writing programs that execute across heterogeneous platforms consisting of CPUs, GPUs, and other processors. OpenCL includes a language (based on C99) for writing kernels (functions that execute on OpenCL devices), plus APIs that are used to define and then control the platforms. OpenCL provides parallel computing using task-based and data-based parallelism.

OpenCL is analogous to the open industry standards OpenGL and OpenAL, for 3D graphics and computer audio, respectively. OpenCL extends the power of the GPU beyond graphics (GPGPU). OpenCL is managed by the non-profit technology consortium Khronos Group.

Contents

History

OpenCL was initially developed by Apple Inc., which holds trademark rights, and refined into an initial proposal in collaboration with technical teams at AMD, IBM, Intel, and Nvidia. Apple submitted this initial proposal to the Khronos Group. On June 16, 2008 the Khronos Compute Working Group was formed[1] with representatives from CPU, GPU, embedded-processor, and software companies. This group worked for five months to finish the technical details of the specification for OpenCL 1.0 by November 18, 2008.[2] This technical specification was reviewed by the Khronos members and approved for public release on December 8, 2008.[3]

OpenCL 1.0 has been released with Mac OS X v10.6 ("Snow Leopard"). According to an Apple press release:[4]

Snow Leopard further extends support for modern hardware with Open Computing Language (OpenCL), which lets any application tap into the vast gigaflops of GPU computing power previously available only to graphics applications. OpenCL is based on the C programming language and has been proposed as an open standard.

AMD has decided to support OpenCL (and DirectX 11) instead of the now deprecated Close to Metal in its Stream framework.[5][6]RapidMind announced their adoption of OpenCL underneath their development platform, in order to support GPUs from multiple vendors with one interface.[7]On December 9, 2008, Nvidia announced its intention to add full support for the OpenCL 1.0 specification to its GPU Computing Toolkit.[8]. On October 30, 2009, IBM released its first OpenCL implementation as a part of the XL compilers[9].

The OpenCL specification is under development at Khronos, which is open to any interested company to join.

Implementation

On December 10, 2008, AMD and Nvidia held the first public OpenCL demonstration, a 75-minute presentation at Siggraph Asia 2008. AMD showed a CPU-accelerated OpenCL demo explaining the scalability of OpenCL on one or more cores while Nvidia showed a GPU-accelerated demo.[10][11]

On March 26, 2009, at GDC 2009, AMD and Havok demonstrated the first working implementation for OpenCL accelerating Havok Cloth on AMD Radeon HD 4000 series GPU.[12]

On April 20, 2009, Nvidia announced the release of its OpenCL driver and SDK to developers participating in its OpenCL Early Access Program.[13]

On August 5, 2009, AMD unveiled the first development tools for its OpenCL platform as part of its ATI Stream SDK v2.0 Beta Program.[14]

On August 28, 2009, Apple released Mac OS X Snow Leopard, which contains a full implementation of OpenCL.[15]OpenCL in Snow Leopard will initially be supported on the ATI Radeon HD 4850, ATI Radeon HD 4870 and NVIDIA's Geforce 8600M GT, GeForce 8800 GS, GeForce 8800 GT, GeForce 8800 GTS, Geforce 9400M, GeForce 9600M GT, GeForce GT 120, GeForce GT 130, GeForce GTX 285, Quadro FX 4800, and Quadro FX 5600.[16]

On September 28, 2009, NVIDIA released its own OpenCL drivers and SDK implementation.

On October 13, 2009, AMD released the fourth beta of the ATI Stream SDK 2.0, which provides a complete OpenCL implementation on both R700/R800 GPUs and SSE3 capable CPUs. The SDK is available for both Linux and Windows. [17]

On November 26, 2009, NVIDIA released drivers for OpenCL 1.0 (rev 48).

The Apple[18], Nvidia[19], RapidMind[20] and Mesa Gallium3D[21] implementations of OpenCL are all based on the LLVM Compiler technology and use the Clang Compiler as its frontend.

On December 10, 2009, VIA released their first product supporting OpenCL 1.0 - ChromotionHD 2.0 video processor included in VN1000 chipset.[22]

On December 21, 2009, AMD released the production version of the ATI Stream SDK 2.0,[23] which provides OpenCL 1.0 support for R800 GPUs and beta support for R700 GPUs.

Example

This example will compute a Fast Fourier Transformation (FFT):[24]<source lang="c">// create a compute context with GPU devicecontext = clCreateContextFromType(NULL, CL_DEVICE_TYPE_GPU, NULL, NULL, NULL);

// create a command queuequeue = clCreateCommandQueue(context, NULL, 0, NULL);

// allocate the buffer memory objectsmemobjs[0] = clCreateBuffer(context, CL_MEM_READ_ONLY | CL_MEM_COPY_HOST_PTR, sizeof(float)*2*num_entries, srcA, NULL);memobjs[1] = clCreateBuffer(context, CL_MEM_READ_WRITE, sizeof(float)*2*num_entries, NULL, NULL);

// create the compute programprogram = clCreateProgramWithSource(context, 1, &fft1D_1024_kernel_src, NULL, NULL);

// build the compute program executableclBuildProgram(program, 0, NULL, NULL, NULL, NULL);

// create the compute kernelkernel = clCreateKernel(program, "fft1D_1024", NULL);

// set the args valuesclSetKernelArg(kernel, 0, sizeof(cl_mem), (void *)&memobjs[0]);clSetKernelArg(kernel, 1, sizeof(cl_mem), (void *)&memobjs[1]);clSetKernelArg(kernel, 2, sizeof(float)*(local_work_size[0]+1)*16, NULL);clSetKernelArg(kernel, 3, sizeof(float)*(local_work_size[0]+1)*16, NULL);

// create N-D range object with work-item dimensions and execute kernelglobal_work_size[0] = num_entries;local_work_size[0] = 64;clEnqueueNDRangeKernel(queue, kernel, 1, NULL, global_work_size, local_work_size, 0, NULL, NULL);</source>

The actual calculation: (Based on Fitting FFT onto the G80 Architecture)[25]<source lang="c">// This kernel computes FFT of length 1024. The 1024 length FFT is decomposed into // calls to a radix 16 function, another radix 16 function and then a radix 4 function

__kernel void fft1D_1024 (__global float2 *in, __global float2 *out,

                         __local float *sMemx, __local float *sMemy) {  int tid = get_local_id(0);  int blockIdx = get_group_id(0) * 1024 + tid;  float2 data[16];
 // starting index of data to/from global memory  in = in + blockIdx;  out = out + blockIdx;  globalLoads(data, in, 64); // coalesced global reads  fftRadix16Pass(data);      // in-place radix-16 pass  twiddleFactorMul(data, tid, 1024, 0);
 // local shuffle using local memory  localShuffle(data, sMemx, sMemy, tid, (((tid & 15) * 65) + (tid >> 4)));  fftRadix16Pass(data);               // in-place radix-16 pass  twiddleFactorMul(data, tid, 64, 4); // twiddle factor multiplication  localShuffle(data, sMemx, sMemy, tid, (((tid >> 4) * 64) + (tid & 15)));  // four radix-4 function calls  fftRadix4Pass(data);      // radix-4 function number 1 fftRadix4Pass(data + 4);  // radix-4 function number 2 fftRadix4Pass(data + 8);  // radix-4 function number 3 fftRadix4Pass(data + 12); // radix-4 function number 4
 // coalesced global writes  globalStores(data, out, 64);

}</source>A full, open source implementation of an OpenCL FFT can be found on Apple's website[26]

See also

References

  1. ^ Khronos Group (2008-06-16). "Khronos Launches Heterogeneous Computing Initiative". Press release. http://www.khronos.org/news/press/releases/khronos_launches_heterogeneous_computing_initiative/. Retrieved 2008-06-18. 
  2. ^ "OpenCL gets touted in Texas". MacWorld. 2008-11-20. http://www.macworld.com/article/136921/2008/11/opencl.html?lsrc=top_2. Retrieved 2009-06-12. 
  3. ^ Khronos Group (2008-12-08). "The Khronos Group Releases OpenCL 1.0 Specification". Press release. http://www.khronos.org/news/press/releases/the_khronos_group_releases_opencl_1.0_specification/. Retrieved 2009-06-12. 
  4. ^ Apple Inc. (2008-06-09). "Apple Previews Mac OS X Snow Leopard to Developers". Press release. http://www.apple.com/pr/library/2008/06/09snowleopard.html. Retrieved 2008-06-09. 
  5. ^ AMD (2008-08-06). "AMD Drives Adoption of Industry Standards in GPGPU Software Development". Press release. http://www.amd.com/us-en/Corporate/VirtualPressRoom/0,,51_104_543~127451,00.html. Retrieved 2008-08-14. 
  6. ^ "AMD Backs OpenCL, Microsoft DirectX 11". eWeek. 2008-08-06. http://www.eweek.com/c/a/Desktops-and-Notebooks/AMD-Backing-OpenCL-and-Microsoft-DirectX-11/. Retrieved 2008-08-14. 
  7. ^ "HPCWire: RapidMind Embraces Open Source and Standards Projects". HPCWire. 2008-11-10. http://www.hpcwire.com/topic/applications/RapidMind_Embraces_Open_Source_and_Standards_Projects.html. Retrieved 2008-11-11. 
  8. ^ Nvidia (2008-12-09). "NVIDIA Adds OpenCL To Its Industry Leading GPU Computing Toolkit". Press release. http://www.nvidia.com/object/io_1228825271885.html. Retrieved 2008-12-10. 
  9. ^ "OpenCL Development Kit for Linux on Power". alphaWorks. 2009-10-30. http://www.alphaworks.ibm.com/tech/opencl. Retrieved 2009-10-30. 
  10. ^ "OpenCL Demo, AMD CPU". 2008-12-10. http://www.youtube.com/watch?v=sLv_fhQlqis. Retrieved 2009-03-28. 
  11. ^ "OpenCL Demo, NVIDIA GPU". 2008-12-10. http://www.youtube.com/watch?v=PJ1jydg8mLg. Retrieved 2009-03-28. 
  12. ^ "AMD and Havok demo OpenCL accelerated physics". PC Perspective. 2009-03-26. http://www.pcper.com/comments.php?nid=6954. Retrieved 2009-03-28. 
  13. ^ "NVIDIA Releases OpenCL Driver To Developers". NVIDIA. 2009-04-20. http://www.nvidia.com/object/io_1240224603372.html. Retrieved 2009-04-27. 
  14. ^ "AMD does reverse GPGPU, announces OpenCL SDK for x86". Ars Technica. 2009-08-05. http://arst.ch/5te. Retrieved 2009-08-06. 
  15. ^ Dan Moren; Jason Snell (2009-06-08). "Live Update: WWDC 2009 Keynote". macworld.com. MacWorld. http://www.macworld.com/article/140897/2009/06/keynote.html. Retrieved 2009-06-12. 
  16. ^ "Mac OS X Snow Leopard – Technical specifications and system requirements". Apple Inc. 2009-06-08. http://www.apple.com/macosx/specs.html. Retrieved 2009-08-25. 
  17. ^ "ATI Stream Software Development Kit (SDK) v2.0 Beta Program". http://developer.amd.com/GPU/ATISTREAMSDKBETAPROGRAM/Pages/default.aspx#one. Retrieved 2009-10-14. 
  18. ^ "Apple entry on LLVM Users page". http://llvm.org/Users.html#Apple. Retrieved 2009-08-29. 
  19. ^ "Nvidia entry on LLVM Users page". http://llvm.org/Users.html. Retrieved 2009-08-06. 
  20. ^ "Rapidmind entry on LLVM Users page". http://llvm.org/Users.html. Retrieved 2009-10-01. 
  21. ^ "Zack Rusin's blog post about the Mesa Gallium3D OpenCL implementation". http://zrusin.blogspot.com/2009/02/opencl.html. Retrieved 2009-10-01. 
  22. ^ http://www.via.com.tw/en/resources/pressroom/pressrelease.jsp?press_release_no=4327
  23. ^ "ATI Stream SDK v2.0 with OpenCL™ 1.0 Support". http://developer.amd.com/gpu/ATIStreamSDK/Pages/default.aspx. Retrieved 2009-10-23. 
  24. ^ "OpenCL". SIGGRAPH2008. 2008-08-14. http://s08.idav.ucdavis.edu/munshi-opencl.pdf. Retrieved 2008-08-14. 
  25. ^ "Fitting FFT onto G80 Architecture" (PDF). Vasily Volkov and Brian Kazian, UC Berkeley CS258 project report. May 2008. http://www.cs.berkeley.edu/~kubitron/courses/cs258-S08/projects/reports/project6_report.pdf. Retrieved 2008-11-14. 
  26. ^ ."OpenCL on FFT". Apple. 16 Nov 2009. https://developer.apple.com/mac/library/samplecode/OpenCL_FFT/index.html. Retrieved 2009-12-07. 

External links

 

Toutes les traductions de OpenCL


Contenu de sensagent

  • définitions
  • synonymes
  • antonymes
  • encyclopédie

dictionnaire et traducteur pour sites web

Alexandria

Une fenêtre (pop-into) d'information (contenu principal de Sensagent) est invoquée un double-clic sur n'importe quel mot de votre page web. LA fenêtre fournit des explications et des traductions contextuelles, c'est-à-dire sans obliger votre visiteur à quitter votre page web !

Essayer ici, télécharger le code;

SensagentBox

Avec la boîte de recherches Sensagent, les visiteurs de votre site peuvent également accéder à une information de référence pertinente parmi plus de 5 millions de pages web indexées sur Sensagent.com. Vous pouvez Choisir la taille qui convient le mieux à votre site et adapter la charte graphique.

Solution commerce électronique

Augmenter le contenu de votre site

Ajouter de nouveaux contenus Add à votre site depuis Sensagent par XML.

Parcourir les produits et les annonces

Obtenir des informations en XML pour filtrer le meilleur contenu.

Indexer des images et définir des méta-données

Fixer la signification de chaque méta-donnée (multilingue).


Renseignements suite à un email de description de votre projet.

Jeux de lettres

Les jeux de lettre français sont :
○   Anagrammes
○   jokers, mots-croisés
○   Lettris
○   Boggle.

Lettris

Lettris est un jeu de lettres gravitationnelles proche de Tetris. Chaque lettre qui apparaît descend ; il faut placer les lettres de telle manière que des mots se forment (gauche, droit, haut et bas) et que de la place soit libérée.

boggle

Il s'agit en 3 minutes de trouver le plus grand nombre de mots possibles de trois lettres et plus dans une grille de 16 lettres. Il est aussi possible de jouer avec la grille de 25 cases. Les lettres doivent être adjacentes et les mots les plus longs sont les meilleurs. Participer au concours et enregistrer votre nom dans la liste de meilleurs joueurs ! Jouer

Dictionnaire de la langue française
Principales Références

La plupart des définitions du français sont proposées par SenseGates et comportent un approfondissement avec Littré et plusieurs auteurs techniques spécialisés.
Le dictionnaire des synonymes est surtout dérivé du dictionnaire intégral (TID).
L'encyclopédie française bénéficie de la licence Wikipedia (GNU).

Copyright

Les jeux de lettres anagramme, mot-croisé, joker, Lettris et Boggle sont proposés par Memodata.
Le service web Alexandria est motorisé par Memodata pour faciliter les recherches sur Ebay.
La SensagentBox est offerte par sensAgent.

Traduction

Changer la langue cible pour obtenir des traductions.
Astuce: parcourir les champs sémantiques du dictionnaire analogique en plusieurs langues pour mieux apprendre avec sensagent.

 

4306 visiteurs en ligne

calculé en 0,078s


Je voudrais signaler :
section :
une faute d'orthographe ou de grammaire
un contenu abusif (raciste, pornographique, diffamatoire)
une violation de copyright
une erreur
un manque
autre
merci de préciser :