OpenMP

OpenMP
Siste versjon(er)5.2 / 9. nov. 2021
OSmultiplattform
Implementert i
C++, C

OpenMP (engelsk: Open Multi-Processing) er en API for SIMD multiprosessering i programmeringsspråkene C, C++ og Fortran. Den er tilgjengelig for mange datamaskinarkitekturer og operativsystemer, deriblant Unix, Unix-liknende systemer og Microsoft Windows.

OpenMP består av et sett kompilator-direktiver, biblioteksrutiner og miljø-variabler. APIen utvider programmeringsspråkets syntaks på en slik måte at man kan utvikle parallelle programmer på ulike plattformer, fra personlige datamaskiner til superdatamaskiner. I dataklynger kan den parallelle utførelsen i OpenMP kombineres med et meldingsbasert grensesnitt.

Historikk

OpenMP er definert av en gruppe større maskinvare- og programvareselskaper. The OpenMP Architecture Review Board (ARB) publiserte spesifikasjonen OpenMP for Fortran 1.0 i oktober 1997. I oktober 1998 fulgte OpenMP for C/C++ 1.0. OpenMP for Fortran 2.0 fulgte i 2000, og OpenMP for C/C++ 2.0 i 2002. Versjon 2.5 er en kombinert spesifikasjon for C/C++/Fortran, som ble utgitt i 2005. Den nåværende versjon, OpenMP 3.0, ble utgitt i mai 2008.

Implementasjoner

OpenMP er blitt implementert i flere kommersielle kompilatorer, deriblant kompilatorer fra Intel, Microsoft Visual C++ 2005, Sun Studio Express for Solaris OS (UltraSPARC and x86/x64) og Linux. PGI Visual Fortran fra The Portland Group støtter OpenMP 2.5.

OpenMP 2.5 i C/C++ og Fortran-95 ble introdusert i GNU Compiler Collection versjon 4.2. OpenMP 3.0 ble lansert i versjonene 4.3 og 4.4.

Andre kompilatorer med støtte for OpenMP 3.0 er:

  • Sun Studio Express November 2008 Release
  • Nanos compiler
  • Intel C++ 11 compiler

Eksterne lenker

  • Offisielt nettsted Rediger på Wikidata
  • (en) OpenMP – kategori av bilder, video eller lyd på Commons Rediger på Wikidata
  • v
  • d
  • r
A# · ActionScript · Ada · Alef · ALGOL · ALGOL 58 · ALGOL 60 · ALGOL 68 · ALTRAN · APL · AppleScript · Argus · Assembler · Autokode · awk ·· BASIC · BCPL · BETA · BitC · BLISS · Bourne Shell ·· C++ · C-- · CHILL · C# · C shell · Caml · Ch · Cilk · Cilk++ · Cilk Plus · Clarion · Clipper · CLISP · Clojure · CLU · COBOL · COMAL · Common Lisp · Concurrent C · Concurrent Euclid · Concurrent Pascal · C shell ·· Delphi · Dylan · ECMAScript · Eiffel · Emacs Lisp · Erlang · Euclid · F* · F# · Forth · Fortran · GNU Common Lisp · GNU Pascal · Go · Haskell · HyperTalk · Incr Tcl · INTERCAL · Interlisp · Java · JavaScript · JRuby · LaTeX · Legoscript · LilyPond · Limbo · Lisp · LPC · Lua · Lynx · Mary · MATLAB · Mesa · ML · MML · Modula · Modula-2 · Modula-2+ · MUMPS · Objective-C · Objective-C++ · OCaml · OpenVera · O'Haskell · Pascal · Perl · PHP · Pike · PL/I · Plankalkül · PLEX · Prolog · Protel · Pure Data · Python ·· Ratfor · REXX · RTL/2 · Ruby · Rust · SAS · Scala · Scheme · Scratch · Simula · SML · Smalltalk · SNOBOL · Tcsh · Tcl · TECO · TOM · Turbo Basic · Turbo Pascal · Verilog · Visual Prolog · Turing · TypeScript · Vala · VHDL · Visual Basic
Autoritetsdata
Denne artikkelen er en spire. Du kan hjelpe Wikipedia ved å utvide den.