Extending OpenMP for NUMA Machines
This paper describes extensions to OpenMP that implement data placement features needed for NUMA architectures. OpenMP is a collection of compiler directives and library routines used to write portable parallel programs for shared-memory architectures. Writing efficient parallel programs for NUMA ar...
Main Authors: | , , , , , , |
---|---|
Format: | Article |
Language: | English |
Published: |
Hindawi Limited
2000-01-01
|
Series: | Scientific Programming |
Online Access: | http://dx.doi.org/10.1155/2000/464182 |
id |
doaj-55a68f918327454c90ae49db0c258c48 |
---|---|
record_format |
Article |
spelling |
doaj-55a68f918327454c90ae49db0c258c482021-07-02T06:38:32ZengHindawi LimitedScientific Programming1058-92441875-919X2000-01-018316318110.1155/2000/464182Extending OpenMP for NUMA MachinesJohn Bircsak0Peter Craig1RaeLyn Crowell2Zarka Cvetanovic3Jonathan Harris4C. Alexander Nelson5Carl D. Offner6Compaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USACompaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USACompaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USACompaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USACompaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USACompaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USACompaq Computer Corporation, 110 Spitbrook Road, Nashua, NH 03062, USAThis paper describes extensions to OpenMP that implement data placement features needed for NUMA architectures. OpenMP is a collection of compiler directives and library routines used to write portable parallel programs for shared-memory architectures. Writing efficient parallel programs for NUMA architectures, which have characteristics of both shared-memory and distributed-memory architectures, requires that a programmer control the placement of data in memory and the placement of computations that operate on that data. Optimal performance is obtained when computations occur on processors that have fast access to the data needed by those computations. OpenMP -- designed for shared-memory architectures -- does not by itself address these issues. The extensions to OpenMP Fortran presented here have been mainly taken from High Performance Fortran. The paper describes some of the techniques that the Compaq Fortran compiler uses to generate efficient code based on these extensions. It also describes some additional compiler optimizations, and concludes with some preliminary results.http://dx.doi.org/10.1155/2000/464182 |
collection |
DOAJ |
language |
English |
format |
Article |
sources |
DOAJ |
author |
John Bircsak Peter Craig RaeLyn Crowell Zarka Cvetanovic Jonathan Harris C. Alexander Nelson Carl D. Offner |
spellingShingle |
John Bircsak Peter Craig RaeLyn Crowell Zarka Cvetanovic Jonathan Harris C. Alexander Nelson Carl D. Offner Extending OpenMP for NUMA Machines Scientific Programming |
author_facet |
John Bircsak Peter Craig RaeLyn Crowell Zarka Cvetanovic Jonathan Harris C. Alexander Nelson Carl D. Offner |
author_sort |
John Bircsak |
title |
Extending OpenMP for NUMA Machines |
title_short |
Extending OpenMP for NUMA Machines |
title_full |
Extending OpenMP for NUMA Machines |
title_fullStr |
Extending OpenMP for NUMA Machines |
title_full_unstemmed |
Extending OpenMP for NUMA Machines |
title_sort |
extending openmp for numa machines |
publisher |
Hindawi Limited |
series |
Scientific Programming |
issn |
1058-9244 1875-919X |
publishDate |
2000-01-01 |
description |
This paper describes extensions to OpenMP that implement data placement features needed for NUMA architectures. OpenMP is a collection of compiler directives and library routines used to write portable parallel programs for shared-memory architectures. Writing efficient parallel programs for NUMA architectures, which have characteristics of both shared-memory and distributed-memory architectures, requires that a programmer control the placement of data in memory and the placement of computations that operate on that data. Optimal performance is obtained when computations occur on processors that have fast access to the data needed by those computations. OpenMP -- designed for shared-memory architectures -- does not by itself address these issues. The extensions to OpenMP Fortran presented here have been mainly taken from High Performance Fortran. The paper describes some of the techniques that the Compaq Fortran compiler uses to generate efficient code based on these extensions. It also describes some additional compiler optimizations, and concludes with some preliminary results. |
url |
http://dx.doi.org/10.1155/2000/464182 |
work_keys_str_mv |
AT johnbircsak extendingopenmpfornumamachines AT petercraig extendingopenmpfornumamachines AT raelyncrowell extendingopenmpfornumamachines AT zarkacvetanovic extendingopenmpfornumamachines AT jonathanharris extendingopenmpfornumamachines AT calexandernelson extendingopenmpfornumamachines AT carldoffner extendingopenmpfornumamachines |
_version_ |
1721336905761554432 |