![]() ![]() | |
Tipus | estàndard tècnic i programari ![]() |
---|---|
Versió estable | |
Característiques tècniques | |
Sistema operatiu | multiplataforma ![]() |
Escrit en | C++ i C ![]() |
Més informació | |
Lloc web | openmp.org (anglès) ![]() |
Stack Exchange | Etiqueta ![]() |
| |
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]