This is the mail archive of the gcc@gcc.gnu.org mailing list for the GCC project.


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]
Other format: [Raw text]

does gcc meet these guidelines?


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


Index Nav: [Date Index] [Subject Index] [Author Index] [Thread Index]
Message Nav: [Date Prev] [Date Next] [Thread Prev] [Thread Next]