Editing
Portal:HPC - High Performance Computing
(section)
Jump to navigation
Jump to search
Warning:
You are not logged in. Your IP address will be publicly visible if you make any edits. If you
log in
or
create an account
, your edits will be attributed to your username, along with other benefits.
Anti-spam check. Do
not
fill this in!
=== SHMEM, OpenSHMEM, and PGAS-style thinking === In HPC, “shmem” can mean more than local SysV shared memory. It can also refer to SHMEM-style or OpenSHMEM-style programming models used in distributed-memory supercomputing. OpenSHMEM is a Partitioned Global Address Space, or PGAS, style programming model. NVIDIA’s HPC-X documentation describes SHMEM routines as providing low-latency, high-bandwidth communication for highly parallel scalable programs and notes that SHMEM can be used alone or in combination with MPI.<ref>NVIDIA HPC-X Documentation, “PGAS Shared Memory Access Overview,” https://docs.nvidia.com/networking/display/HPCXv215/PGAS%2BShared%2BMemory%2BAccess%2BOverview, accessed July 3, 2026.</ref> The key idea is that each processing element has local memory, but parts of memory can be accessed in a global, one-sided communication style. This is different from ordinary local shared memory and different from classic two-sided MPI send/receive messaging. Perl does not have a widely used modern OpenSHMEM ecosystem comparable to C, C++, or Fortran OpenSHMEM codes. However, Perl can still interact with SHMEM-based workflows by: * generating configuration and launch scripts; * wrapping compiled OpenSHMEM programs; * parsing their output; * managing test cases; * coordinating benchmarking; * using FFI or XS for specialized bindings where needed. The important historical point is that Perl can participate around these programming models even when it is not the language in which the core parallel kernel is written.
Summary:
Please note that all contributions to Perl Guilds - Getting Medieval with Perl may be edited, altered, or removed by other contributors. If you do not want your writing to be edited mercilessly, then do not submit it here.
You are also promising us that you wrote this yourself, or copied it from a public domain or similar free resource (see
Perl Guilds - Getting Medieval with Perl:Copyrights
for details).
Do not submit copyrighted work without permission!
Cancel
Editing help
(opens in new window)
Navigation menu
Personal tools
Not logged in
Talk
Contributions
Log in
Namespaces
Page
Discussion
English
Views
Read
Edit
Edit source
View history
More
Search
Navigation
Main page
Recent changes
Random page
Help about MediaWiki
Special pages
Tools
What links here
Related changes
Page information