Wednesday Mar 26, 2008
|
We are the Solaris Developer Information Products Team:
Richard Friedman, David Lindt, Kami Shahi, Jyothi Srinath, Paul Echeverri, Ann Rice, Alta Elstad, Susan Morgan, Frank Jennings
Today's Page Hits: 39
Wednesday Mar 26, 2008
|
Go to awards.opensolaris.org to register, declare an entry, and submit your entry. See the updated information on the OpenSolaris Community Innovation Awards Program site. Before you can register for the contest, you must already be registered as an OpenSolaris.org member. Before you can submit an entry, you must already have an SCA number. All types of entries are welcome. Deadline is June 13, 2008. See the web site for prizes, details on how to enter, and other information.
Thursday Nov 08, 2007
|
In October, MIT Press published the first really comprehensive book on parallel programming using the OpenMP API.
Using OpenMP,
Portable Shared Memory Parallel Programming, by
Barbara Chapman, Gabriele Jost and Ruud van der Pas, with a foreword by
David J. Kuck, covers shared-memory parallelization on a number of
platforms.
I've had a pre-publication peek at it (because one of the authors, Ruud van der Pas, is a Sun engineer I work very closely with), and I can say that it packs a lot of very useful information in one place.
Most useful is a discussion of how cache lines can interfere with OpenMP parallelization and cause performance and scaling degradation if you are not aware of what's going on.
This will be a very valuable book on my shelf when it's available.
The OpenMP ARB is pleased to announce the
release of a draft of Version 3.0 of the OpenMP specification for
public comment. This is the first update to the OpenMP specification
since 2005.
This release adds several new features to the OpenMP specification, including:
Wednesday Jun 27, 2007
|
Explicit data prefetching pragmas and intrinsics for the x86 platform and additional pragmas and intrinscs for the SPARC platform are now available in Sun Studio 12 compilers, released June 2007.
Prefetch instructions can increase the speed of an application substantially by bringing data into cache so that it is available when the processor needs it. This benefits performance because today's processors are so fast that it is difficult to bring data into them quickly enough to keep them busy, even with hardware prefetching and multiple levels of data cache.
The compilers have several options that enable them to generate prefetch instructions automatically:
-xprefetch, -xprefetch_level, and -xprefetch_auto_type
(described below). The compilers generally do an excellent job of
inserting prefetch instructions, and this is the most portable and best
way to use prefetch. If finer control of prefetching is desired,
prefetch pragmas or intrinsics can be used. Note that the performance
benefit due to prefetch instructions is hardware-dependent and
prefetches which improve performance on one chip may not have the same
effect on a different chip. It is a good idea to study the instruction
reference manual for the target hardware before inserting prefetch
pragmas or intrinsics. Furthermore, the Sun Studio Performance Analyzer
can be used to identify the cache misses of an application.
Friday Jun 22, 2007
|
There are a lot of useful, short, technical articles on the SDN portal directed at the C and C++ programmer on Solaris.
Here's a new article from Michael Ingrassia, one of the lead developers in the Fortran Compiler team at Sun:
The Fortran language, both the standard language adhered to by all vendors and the extended language offered to Sun customers, contains several different models for how to call library functions. Confusion can result if you aren't clear about which model you should use for the particular library function you are calling. In this paper we try to describe the different models and provide examples of what might go wrong.
In general, any function found in a library can be called from Fortran. (Subroutines are rarer; for convenience we'll consistently refer to functions in this article where we should properly say function/subroutine). Here's a recipe for how to do it, which contains several specific recommendations for good coding practices.
To start , gather the following information:
Depending on what you find, there are 5 different models determining how to properly call this function:
Lets look at each situation in detail.
[Read More]
Wednesday Jun 13, 2007
|
There's a new article on the Sun Studio SDN portal:
| By Dmitry Mikhailichenko, Sun Microsystems, St Petersburg, Russia, June 2007 |
|
This article gives an overview of the following C-language extensions (part of the GNU C-implementation) introduced in the Sun Studio 12 C compiler. Although these extensions are not part of the latest ISO C99 standard, they are supported by the popular gcc compilers.
The article also demonstrates how to use the new C compiler features for creating generic macros on example of linked-list manipulation-routines. Such macros semantically mimic C++ Standard Template Library, support arbitrary data types and provide strict compile-time type-checking.
Friday Jun 08, 2007
|
Here's what's new and changed in the Sun Studio 12 compilers:
You no longer need use the -xarch option to specify a 32-bit or 64-bit address model (LP64 versus ILP32). Two new options make it easier:
-m32 specifies the ILP32 model: 32-bit ints, longs, and pointer types.
-m64 specifies the LP64 model: 32-bit ints, 64-bit longs and pointers types. (Note that -m64 is the default on Linux platforms.)
Use -m64 in place of -xarch=generic64
Use -m64 -xarch=native in place of -xarch=native64
If you are using -xarch=v9 or -xarch=amd64 to specify a 64-bit address model, use just -m64 instead. No -xarch value is required.
[Read More]