Vés al contingut

OpenMP

De la Viquipèdia, l'enciclopèdia lliure
OpenMP
Modifica el valor a Wikidata

Tipusestàndard tècnic i programari Modifica el valor a Wikidata
Versió estable
6.0 (14 novembre 2024) Modifica el valor a Wikidata
Característiques tècniques
Sistema operatiumultiplataforma Modifica el valor a Wikidata
Escrit enC++ i C Modifica el valor a Wikidata
Més informació
Lloc webopenmp.org (anglès) Modifica el valor a Wikidata
Stack ExchangeEtiqueta Modifica el valor a Wikidata

OpenMP (Open Multi-Processing) és una interfície de programació d'aplicacions (API) que admet programació multiprocessament de memòria compartida multiplataforma en C, C++ i Fortran,[1] en moltes plataformes, arquitectures de conjunt d'instruccions i sistemes operatius, inclòs Solaris, AIX, FreeBSD, HP-UX, Linux, macOS i Windows. Consisteix en un conjunt de directives del compilador, rutines de biblioteca i variables d'entorn que influeixen en el comportament en temps d'execució.[2][3]

OpenMP està gestionat pel consorci tecnològic sense ànim de lucre OpenMP Architecture Review Board (o OpenMP ARB), definit conjuntament per una àmplia gamma de proveïdors de maquinari i programari informàtics líders, com Arm, AMD, IBM, Intel, Cray, HP, Fujitsu, Nvidia, NEC, Red Hat, Texas Instruments i Oracle Corporation.[4]

OpenMP utilitza un model portàtil i escalable que ofereix als programadors una interfície senzilla i flexible per desenvolupar aplicacions paral·leles per a plataformes que van des de l'ordinador d'escriptori estàndard fins al superordinador.

Una aplicació construïda amb el model híbrid de programació paral·lela es pot executar en un clúster d'ordinadors utilitzant tant OpenMP com la interfície de pas de missatges (MPI), de manera que OpenMP s'utilitza per al paral·lelisme dins d'un node (multi-nucli) mentre que MPI s'utilitza per al paral·lelisme entre nodes. També hi ha hagut esforços per executar OpenMP en sistemes de memòria compartida distribuïda per programari,[5] per traduir OpenMP a MPI [6][7] i per estendre OpenMP per a sistemes de memòria no compartida.[8]

Referències

[modifica]
  1. Gagne, Abraham Silberschatz, Peter Baer Galvin, Greg. Operating system concepts. 9th. Hoboken, N.J.: Wiley, 2012-12-17, p. 181–182. ISBN 978-1-118-06333-0. 
  2. OpenMP Tutorial at Supercomputing 2008
  3. Using OpenMP – Portable Shared Memory Parallel Programming – Download Book Examples and Discuss
  4. "About the OpenMP ARB and". OpenMP.org. 2013-07-11. Archived from the original on 2013-08-09. Retrieved 2013-08-14.
  5. Costa, J.J.; etal Journal of Parallel and Distributed Computing, 66, 5, 5-2006, pàg. 647–658. DOI: 10.1016/j.jpdc.2005.06.018.
  6. Basumallik, Ayon. «Programming Distributed Memory Systems Using OpenMP». A: 2007 IEEE International Parallel and Distributed Processing Symposium. New York: IEEE Press, 2007, p. 1–8. DOI 10.1109/IPDPS.2007.370397. ISBN 978-1-4244-0909-9. 
  7. Wang, Jue; Hu, ChangJun; Zhang, JiLin; Li, JianJiang Science China Information Sciences, 53, 5, 5-2010, pàg. 932–944. DOI: 10.1007/s11432-010-0074-0 [Consulta: free].
  8. Cluster OpenMP (a product that used to be available for Intel C++ Compiler versions 9.1 to 11.1 but was dropped in 13.0)

Enllaços externs

[modifica]
  • OpenMP - Lloc web oficial
  • GNU GOMP (anglès) Projecte de suport d'OpenMP a C, C++ i Fortran per als compiladors de la GNU Compiler Collection, en funcionament des de la versió GCC 4.2
  • OpenMP a Visual C++ (anglès)