This is the mail archive of the
gcc@gcc.gnu.org
mailing list for the GCC project.
does gcc meet these guidelines?
- From: Andrew Shewmaker <shewa at inel dot gov>
- To: gcc at gcc dot gnu dot org
- Date: Fri, 23 Aug 2002 17:26:36 -0600
- Subject: does gcc meet these guidelines?
- Organization: INEEL
Hello, I'm looking at NACSE's guidelines for HPC software and I am
hoping someone can tell me if GCC supports 5.8, 5.9, 5.10, and 5.15
of their requirements. Also, if I am wrong about any of the others,
please let me know.
Here is what I have so far:
5. Compilers
N 5.1 compiler for ISO/IEC 1539-1:1197 Fortran
Y 5.2 compiler for ANSI/ISO 9899-1990 C
Y 5.3 compiler for ANSI/ISO/IEC 14882-1998 C++
N 5.4 OpenMP Fortran binding, version 1.0.
N 5.5 OpenMP C binding, version 1.0
N 5.6 OpenMP C++ binding, version 1.0
Y 5.7 ANSI/IEEE 1003.1c POSIX threads (pthreads)
? 5.8 all compilers list variable cross-ref
? 5.9 Fortran compiler with preprocessor directives
? 5.10 Fortran compiler generates COMMON block map
N 5.11 auto-parallelization within procedures
N 5.12 directives for overriding auto-parallelization
Y 5.13 target-specific compiler switch
N 5.14 Fortran compiler with Cray pointers
? 5.15 all compilers list pseudo-assembly-language
N 5.16 auto-parallel compiler lists pseudo-assembly
N 5.17 auto-parallelization across procedures
Thanks for the help in advance,
-Andrew
P.S. Here are their detailed descriptions:
http://www.nacse.org/distributions/HPCreqts/report/part4.html
5. Compilers
The items in this section refer to support traditionally provided
through compilers. Features marked with an asterisk (*) may optionally
be provided as part of a cross-platform development environment,
rather than on the target machine itself.
5.1 * Vendor-supported compiler for ISO/IEC 1539-1:1197 Fortran
(Fortran95, which subsumes Fortran77) following POSIX Fortran
Bindings
5.2 * Vendor-supported compiler for ANSI/ISO 9899-1990 C.
5.3 * Vendor-supported compiler for ANSI/ISO/IEC 14882-1998 C++.
5.4 * Vendor-supported implementation of OpenMP Fortran binding,
version 1.0. The vendor will describe the architectural scope of the
implementation (e.g., limited to a single node, spanning N nodes).
5.5 * Vendor-supported implementation of OpenMP C binding, version
1.0. The vendor will describe the architectural scope of the
implementation (e.g., limited to a single node, spanning N nodes).
5.6 * Vendor-supported implementation of OpenMP C++ binding, version
1.0. The vendor will describe the architectural scope of the
implementation (e.g., limited to a single node, spanning N nodes)
5.7 Vendor-supported implementation of ANSI/IEEE 1003.1c POSIX threads
(pthreads).
5.8 * Ability of Fortran/C/C++ compilers to list basic intraprocedural
information on symbol names (e.g., cross-reference listing,
distinction between read and write occurrences).
5.9 * Ability of Fortran compiler to handle ANSI-C-like preprocessor
directives for file inclusion, conditional compilation statements
accepting Fortran expressions, and macro expansions.
5.10 * Ability of Fortran compiler to provide an interprocedural
COMMON block map. This functionality may be provided through a
separate tool.
5.11 * Vendor-supported compiler with the ability to parallelize
automatically at the intraprocedural level, and report why particular
portions weren't parallelizable.
5.12 * Vendor-supported auto-parallelizing compiler with directives
for overriding both compiler conservatism and auto-parallelization.
5.13 * If the compiler supports more than one target machine,
availability of a target-specific switch that exploits the
characteristics of the target machine. Vendor will specify how this is
done.
5.14 * Ability of Fortran compiler to handle Cray pointers, as
described at
http://www.scd.ucar.edu/tcg/consweb/Fortran90/scnpoint.html .
5.15 * Ability of Fortran/C/C++ compilers to generate transformed
source code or pseudo-assembly-language listings. This functionality
may be provided through a separate tool, but the listing must be
clearly correlated with the original source code (e.g., comments
indicating which instructions map to a source statement).
5.16 * Vendor-supported parallelizing compiler with ability to produce
listing of transformed source or pseudo-assembly language code showing
the results of parallelization. This functionality may be provided
through a separate tool, but the listing must be clearly correlated
with the original source code (e.g., comments indicating which
instructions map to a source statement).
5.17 * Vendor-supported compiler with the ability to parallelize
across procedural boundaries, safely and automatically.
--
Andrew Shewmaker
Associate Engineer
Phone: 208.526.1415
Fax: 208.526.4017
Idaho National Engineering and Environmental Laboratory
2525 Fremont Ave.
Idaho Falls, ID 83415-3605