Thread View: comp.unix.cray
1 messages
1 total messages
Started by Chris McAfee
Wed, 27 Jan 1993 18:26
Re: C++ for the Cray (posting responses)
Author: Chris McAfee
Date: Wed, 27 Jan 1993 18:26
Date: Wed, 27 Jan 1993 18:26
566 lines
23804 bytes
23804 bytes
Thanks to everyone for their input about C++ compilers for the Cray.
Some people have requested that I post my responses, so here it is!
Enjoy,
Chris
mcafee@cs.stanford.edu
::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::::
From: hollyma@juniper.cray.com (Michael A. Holly)
Message-Id: <9301271439.AA05753@juniper17.cray.com>
Subject: C++ for the Cray
To: mcafee@cs.stanford.edu
Date: Wed, 27 Jan 93 8:39:00 CST
Cc: becker@juniper.cray.com (Dave Becker)
X-Mailer: ELM [version 2.3 PL11b-CRI]
Status: RO
I noticed that you wrer recently inquiring regarding the availability of a
C++ compiler on the Cray.
I am happy to tell you that Cray offers C++. Our release 1.0 became
available late last year. It is based on USL cfront 3.0.1, and has
been well-tested on the Crays. We have added a number of mods to the
USL code, in particular our compiler has the ability to handle all of the
Cray C #pragma directives, which gives users the opportunity to create some
very effective Cray C++ code (vectorizing and microtasking, for example).
I am also aware of a number of Cray customers who have done their own port
of cfront to the Cray, although in general they don't have the enhancements
that our version offers.
I might also mention that our C++ compiler is available with special
reduced pricing for university use.
I don't know which Cray you use, and I'm not sure how you would get in
contact with our salesperson to obtain C++. But if you're interested, I
can probably find out, just send me some email.
Mike Holly
Date: Tue, 26 Jan 1993 22:30:15 -0600
From: "Charles B. Owen" <mgcbo@uxa.ecn.bgu.edu>
Message-Id: <199301270430.AA08089@uxa.ecn.bgu.edu>
To: mcafee@cs.stanford.edu
Subject: Re: Is there a C++ compiler for the Cray?
Newsgroups: comp.unix.cray
In-Reply-To: <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU>
Organization: Educational Computing Network
Cc:
Status: R
In article <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU> you write:
>
>Hi everyone,
>
>Sorry if this is a FAQ, or is unrelated to this group, it's the ONLY
>cray group that I can find and I'm new to the Cray world.
>
>Our group is thinking about porting code to a Cray supercomputer and
>I need to find out whether the Cray supports C++. If anyone is experienced
>with this or can help, I would greatly appreciate it!
>
>Chris
>mcafee@cs.stanford.edu
>
Yes, absolutely, the Cray systems do support C++. Just one minor
problem. I don't know if you will be able to find a system that
actually has it. In all seriousness I'm not sure the C++ is even ready.
I have a simular problem, a large Neural Network simulation in C++ that
I would like to port. The best idea is to rewrite in C, as I am doing
for a project right now.
I explored the posibilities of preprocessing with cfront or other
compilers to C. However, the library support project was very large and
there were other porting problems.
Hope this is helpful,
| Charles B. Owen Internet: mgcbo@uxa.ecn.bgu.edu |
| Western Illinois University Phone: 309-837-4292 |
| 1002 E. Murray |
| Macomb, IL 61455 |
Date: Tue, 26 Jan 93 20:33:13 PST
From: Keith.Bierman@eng.sun.com (Keith Bierman fpgoup)
Message-Id: <9301270433.AA05652@chiba.Eng.Sun.COM>
To: mcafee@cs.stanford.edu (Christopher C. McAfee)
In-Reply-To: mcafee@Xenon.Stanford.EDU's message of Wed, 27 Jan 1993 02:10:40 GM
Subject: Is there a C++ compiler for the Cray?
Content-Length: 47
Status: R
Yes CRI does. However you have to order it ;>
Date: Wed, 27 Jan 93 12:28:13 +0200
From: Kurt.Jaeger@rus.uni-stuttgart.de (Kurt Jaeger aka PI)
Message-Id: <9301271028.AA16072@helpdesk.rus.uni-stuttgart.de>
To: mcafee@cs.stanford.edu
Subject: Re: Is there a C++ compiler for the Cray?
Newsgroups: comp.unix.cray
In-Reply-To: <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU>
Organization: User Help Desk, Comp.Center (RUS), U of Stuttgart, FRG
Status: RO
In article <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU> you write:
>Our group is thinking about porting code to a Cray supercomputer and
>I need to find out whether the Cray supports C++. If anyone is experienced
>with this or can help, I would greatly appreciate it!
There is a sw called C++ 2.1 from AT&T installed on our cray-2. Here
is the manual page:
So short, PI
CC(1C++) ( )
NAME
CC - C++ translator (``cfront'')
SYNOPSIS
CC [ options ] file ...
DESCRIPTION
CC is the AT&T C++ compiler. The command uses cpp(1) for
preprocessing, cfront for syntax and type checking, and cc(1) for code
generation.
CC takes arguments ending in .c, .C or .i to be C++ source files. .i
files are presumed to be the output of cpp(1). Both .s and .o files
are also accepted by the CC command and passed to cc(1).
For each C++ source file, CC creates a temporary file, file.c, in
/usr/tmp, containing the generated C file for compilation with cc(1).
The -F -.suffix option saves a copy of this file in the current
directory with the name file.suffix. The +i option saves a copy of
the generated C code (minus #line directives) in the current directory
with the name file..c.
In addition to the options described below, CC accepts other options
and passes them on to the C compilation system tools. See cpp(1) for
preprocessor options, cc(1) for C compiler options, ld(1) for link
editor options, and as(1) for assembler options.
The following options apply to the C++-specific parts of the
compilation process:
-E Run only cpp(1) on the C++ source files and send the result
to standard output. This option overrides the +i option.
-F Run only cpp(1) and cfront on the C++ source files, and send
the result to standard output. The output contains #line
directives. This option overrides the -E and +i options.
-.suffix When used in combination with -E or -F , place the output
from each input file in a file with the specified suffix in
the current directory.
-V Causes the compiler version and generation date to be
displayed during compilation.
+a[01] The C++ compiler can generate either ANSI C-conforming or
K&R C-style declarations. The +a option specifies which
style of declarations to produce. The default, +a0, causes
the compiler to produce K&R C-style declarations. The +a1
option causes the compiler to produce ANSI C-conforming
declarations.
+d Do not inline-expand functions declared inline.
+e[01] Only to be used on classes for which virtual functions are
present, and all the virtual functions are either defined as
inline or pure. In this circumstance, this option optimizes
a program to use less space by ensuring that only one
virtual table per class is generated. +e1 causes virtual
tables to be external and defined. +e0 causes virtual
tables to be external but only declared. This option is
ignored for any class that contains an out-of-line virtual
Cray C++ 1.0 1 Cray Research Inc.
CC(1C++) ( )
function.
-flow Activates the Flowtrace feature. (Equivalent to the cc -F
option used by the Cray ANSI C Compiling System.)
+i Leave the intermediate ..c files in the current directory
during the compilation process. These files do not contain
any preprocessing directives, although the files passed to
the C compiler do. When templates are used, it causes the
instantiation system to leave ..c files in the repository.
+p Disallow all anachronistic constructs. Ordinarily the
translator warns about anachronistic constructs; under +p
(for ``pure''), the translator will not compile code
containing anachronistic constructs. See the AT&T C++
Language System Product Reference Manual for a list of
anachronisms.
+w Warn about constructs that are likely to be mistakes, be
nonportable, or be inefficient. Without the +w option, the
compiler issues warnings only about constructs that are
almost certainly errors.
+xfile Read a file of size and alignments created by compiling and
executing szal.c. The form of the created file is identical
to the entries in size.h. This option is useful for cross
compilations and for porting the translator. See the AT&T
C++ Language System Release Release Notes for more
information.
The template instantiation system adds several options to CC. These
are specified on the CC line or by setting the environment variable
PTOPTS. For example, to permanently enable verbose mode, you would
say:
setenv PTOPTS -ptv
-pta Instantiate a whole template class rather than only those
members that are needed.
-ptn Change the default instantiation behavior for one-file
programs to that of larger programs, where instantiation is
broken out separately and the repository updated. One-file
programs normally have instantiation optimized so that
instantiation is done into the application object itself.
-ptrpathname
Specify a repository, with ./ptrepository the default. If
several repositories are given, only the first is writeable,
and the default repository is ignored unless explicitly
named.
-pts Split instantiations into separate object files, with one
function per object (including overloaded functions), and
all class static data and virtual functions grouped into a
single object.
-ptt NOTE: This option is obsolete in this release.
-ptv Turn on verbose or verify mode, which displays each phase of
instantiation as it occurs, together with the elapsed time
in seconds that phase took to complete. Use of this option
Cray C++ 1.0 2 Cray Research Inc.
CC(1C++) ( )
is recommended if you are new to templates. With verbose
mode, the reason why an instantiation is done and the exact
CC command used are displayed.
The preprocessor directives -I and -D work as they normally do, but
must also be specified at link time, to pick up the various template
and application type header files.
ENVIRONMENT
The following are some of the user-settable environment variables:
ccC C compiler (default: cc)
cfrontC cfront (default: CCROOTDIR/cfront)
cppC C preprocessor (default: /lib/cpp)
FILES
file.[Cc] C++ source file
file..c optional cfront output
file.i C++ source after preprocessing
file.s assembly language file
file.o object file
a.out linked output
/lib/cpp C preprocessor (see cpp(1))
/bin/cc C compiler
/lib/libc.a standard C library
CCROOTDIR/CC C++ driver shell script
CCROOTDIR/cfront C++-to-C translator
CCROOTDIR/patch or munch post-link editor
CCROOTDIR/c++filt name demangler for diagnostic messages
CCLIBDIR/libC.a C++ standard library
CCLIBDIR/libtask.a C++ coroutine library
CCLIBDIR/libcomplex.a C++ complex arithmetic library
I colon-separated list of standard directories
for #include files
The usual locations for the standard directories are as follows:
CCROOTDIR /usr/bin
CCLIBDIR /usr/lib
I /usr/include/CC
SEE ALSO
cpp(1), cc(1), as(1), ld(1).
Stan Lippman. C++ Primer, Second Edition Addison-Wesley 1991.
B. W. Kernighan and D. M. Ritchie. The C Programming Language,
Prentice-Hall 1988.
Bjarne Stroustrup. The C++ Programming Language, Second Edition
Addison-Wesley, 1991.
DIAGNOSTICS
The diagnostics produced by CC itself are intended to be self-
explanatory. Occasional messages may be produced by the assembler or
link editor.
Cray C++ 1.0 3 Cray Research Inc.
--
PI at the User Help Desk Comp.Center U of Stuttgart, FRG 27 years to go !
SMTP: pi@rus.uni-stuttgart.de Phone: +49 711 685-4828
X.400: pi@rus.uni-stuttgart.dbp.de (aka Kurt Jaeger)
Date: Wed, 27 Jan 93 07:46:22 -0700
From: gam@beta.lanl.gov (Gim Mark)
Message-Id: <9301271446.AA14532@beta.lanl.gov>
To: mcafee@cs.stanford.edu
Subject: Re: Is there a C++ compiler for the Cray?
Newsgroups: comp.unix.cray
In-Reply-To: <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU>
Organization: Los Alamos National Laboratory
Cc: gam@lanl.gov
Status: RO
Cray Research has recently released a native C++ compiler. It's
said to be compliant with cfront 3.0. Support for C++ code is
promised in a forthcoming version of CRI's debugger cdbx.
A single license costs $24K, or one can be rented for $350 per month.
There's a monthly support fee of $450 per license. (These numbers came from our local Cray analyst. I don't think they're special for Los Alamos.)
Graham Mark
Los Alamos National Laboratory
(505)667-8147
Date: Wed, 27 Jan 93 09:24:44 CST
From: toma@romulus.cray.com (Thomas Arneberg {66642 CF/DEV})
Message-Id: <9301271524.AA02395@baritone.cray.com>
To: mcafee@cs.stanford.edu
Subject: Re: Is there a C++ compiler for the Cray?
Newsgroups: comp.unix.cray
In-Reply-To: <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU>
Organization: Cray Research, Inc.
Cc:
Status: RO
In article <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU> you write:
>
>Hi everyone,
>
>Sorry if this is a FAQ, or is unrelated to this group, it's the ONLY
>cray group that I can find and I'm new to the Cray world.
>
>Our group is thinking about porting code to a Cray supercomputer and
>I need to find out whether the Cray supports C++. If anyone is experienced
>with this or can help, I would greatly appreciate it!
>
>Chris
>mcafee@cs.stanford.edu
Here is a press release from last July. I'm just learning C++ myself, so I
can't answer many questions, but I do know that the C++ on the YMP will
support templates.
- Tom A.
---------------------------------------------+------------------------------
;-) I'd rather be ____ Thomas R. Arneberg | Internet: toma@cray.com
:-) singing in a |____| Senior IC Design Eng.| UUCP: ...!uunet!cray!toma
:-) Barbershop _| _| Cray Research, Inc. | CLAIM TO FAME: Loni Anderson
:-) Quartet! (_) (_) Chippewa Falls, Wisc.| went to my high school
---------------------------------------------+------------------------------
>From COLLEEN_DEGRIO@elroy.cray.com Thu Jul 30 07:50:07 1992
Subject: C++ News Release
MEDIA: Chris Malecek, 612/832-5000
FINANCIAL: Laura Merriam, 612/683-7395
OBJECT-ORIENTED SOFTWARE LANGUAGE NOW AVAILABLE
ON CRAY RESEARCH SYSTEMS
C++ Language Can Speed Application Development, Solution
Times
EAGAN, Minn., July 30, 1992 -- Cray Research, Inc., today
unveiled a compiling system that allows users to program in a
revolutionary computer language, making it faster and easier
to create application programs and solve complex scientific
and industrial problems on the company's supercomputing
systems.
The new compiling product, Cray C++ Compiling Systems 1.0,
places the supercomputer leader at the forefront of a trend
toward "object-oriented" programming, according to Irene
Qualters, Cray Research vice president of software. The new
compiler allows Cray Research system users to program in the
latest version of C++, an evolving computer language that is
based on object-oriented programming. This programming
approach allows users to create supercomputer-level software
applications using the familiar objects of their disciplines.
For example, chemists are interested in atoms and molecules;
auto engineers work with chassis parts, engines, or other
automotive components; and mathematicians are concerned
with matrices. C++ allows such users to program in these
terms, resulting in data structures that more closely mimic
the real-life behavior of these objects. Once created, the data
structures -- referred to as "objects" -- can be linked like
building blocks to create full applications programs. The
objects can then be stored for reuse or further development
work, and can be shared with other researchers. More
traditional programming approaches can require users to spend
weeks or months redefining data structures for each new
application.
Cray C++ Compiling System is an enhanced supercomputer
version of UNIX Systems Laboratories' C++ Language System
3.0.1, and operates in conjunction with the existing Cray
Standard C Compiler. The new Cray Research product runs on
all of the company's supercomputer systems, from the entry-
level CRAY Y-MP EL system to the top-of-the-line CRAY Y-MP
C90 system. Cray Research has licensed the new product to
two undisclosed customers.
Qualters said the Cray C++ Compiling System includes "class
libraries," or blocks of ready-made software code, for agreed-
upon concepts such as I/O streams and complex numbers. With
class libraries, programmers can more quickly develop new
applications software and have more time to focus on high-
level concepts in their disciplines, she said.
"Cray Research is in the business of providing fast solutions
through high-performance simulations," Qualters said. "We are
always looking for ways to make our supercomputer systems
easier to use so that customers can harness the power of these
systems. This new object-oriented programming language will
make it quicker and easier to develop more effective solutions
for existing problems, as well as for complex, emerging
problems."
According to Cray Research, object-oriented programming is
an evolving programming method in the high-performance
computing arena. Last month, the company announced Cray
Research IRIS Explorer, an object-oriented application building
environment based on Silicon Graphics' IRIS Explorer software
product, which was written in C++. "Advanced application
tools like Cray Research IRIS Explorer would not be possible
without C++," Qualters said. "We view this programming
approach as an important standard for the future."
"Several of the code development projects at Sandia National
Laboratories are using object-oriented programming
techniques to meet the challenges of quickly developing defect-
free software with limited resources," said Mike McGlaun,
manager, computational physics research and development at
Sandia Laboratories. "These codes include three-dimensional
shock physics codes, three-dimensional fluid dynamics codes,
and three-dimensional mesh generation codes. Our C++ codes
are running efficiently on our CRAY Y-MP system, our
workstations, and our massively parallel computers. C++
represents the best compromise between efficiency and
functionality. Object-oriented programming is giving us a
competitive advantage in today's complicated world."
Cray Research now provides industry-leading optimizing
compiling systems for C++, C, Fortran, and Ada on the
company's full supercomputer product line. The optimizing
compilers automatically vectorize and parallelize software
code to take advantage of these capabilities of Cray Research
supercomputing systems, leading to faster solutions.
Cray Research compiling systems enable scientists and
engineers to write efficient computer programs using standard
languages, without having extensive knowledge of the
supercomputer hardware.
Cray Research creates the most powerful, highest-quality
computational tools for solving the world's most challenging
scientific and industrial problems.
From: pommy@research.att.com
Date: Wed, 27 Jan 93 11:29 EST
To: mcafee@cs.stanford.edu
Subject: Re: Is there a C++ compiler for the Cray?
Newsgroups: comp.unix.cray
In-Reply-To: <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU>
Organization: AT&T, Bell Labs
Status: RO
Chris,
In article <1993Jan27.021040.19469@CSD-NewsHost.Stanford.EDU> you write:
>> Our group is thinking about porting code to a Cray supercomputer and
>> I need to find out whether the Cray supports C++. If anyone is experienced
>> with this or can help, I would greatly appreciate it!
I have been using C++ on four different Cray machines for about two years now.
Cray Research Inc. does sell their port of cfront 3.0, but they charge a lot
of money for it. Ask your on-site Cray analyst for today's price.
Claude
[ Note: I am not one of AT&T BL's C++ implementors. ]
-------------------------------------------------------------------------------
Claude Pommerell AT&T Bell Laboratories
Computing Science Research Center
<pommy@research.att.com> Computing Mathematics Research Dept.
Date: Wed, 27 Jan 93 11:41:37 EST
From: suchyta@pittpa.cray.com (Casimir J. Suchyta)
Message-Id: <9301271641.AA07963@pittpa.cray.com>
To: mcafee@cs.stanford.edu
Subject: C++
Status: RO
Chris,
There are other more knowledgable than I but Cray has a C++
compiler.
CJ
Date: Wed, 27 Jan 93 10:48:58 CST
From: dew@juniper.cray.com (David Whitney)
Message-Id: <9301271648.AA23955@juniper15.cray.com>
To: mcafee@cs.stanford.edu
Subject: C++ on the Cray
Status: RO
Chris,
Cray has ported Cfront 3.0.1 to the Cray and does support it. However your
access to it will depend on the specific Cray machine that you are using
since some sites have elected to do their own port (usually version 2.1)
and may not be able to support you because of staff limitations.
If you have further questions, I'll try my best to answer them or find
someone who can.
-David Whitney
-Cray Research, Inc.
-dew@cray.com
-(612)683-5802
Thread Navigation
This is a paginated view of messages in the thread with full content displayed inline.
Messages are displayed in chronological order, with the original post highlighted in green.
Use pagination controls to navigate through all messages in large threads.
Back to All Threads