This paper presents a prototype runtime system, providing support at the backend of the NANOS OpenMP compiler, that enables
the execution of unmodified OpenMP Fortran programs on both SMPs and clusters of multiprocessors, either through the hybrid
programming model (MPI+OpenMP) or directly on top of Software Distributed Shared Memory (SDSM). The latter is feasible by
adopting a share-everything approach for the generated by the OpenMP compiler code, which corresponds to the “default shared”
philosophy of OpenMP. Specifically, the user-level thread stacks and the Fortran common blocks are allocated explicitly, though
transparently to the programmer, in shared memory. The management of the internal runtime system structures and of the forkjoin
multilevel parallelism is based on explicit communication, exploiting however the shared-memory hardware of the available
SMP nodes whenever this is possible. The modular design of the runtime system allows the integration of existing unmodified
SDSM libraries, despite their design for SPMD execution.