Notes and observations on software for (mostly) scientific applications.


























 
Archives
<< current













 
contact
baum@stommel.tamu.edu

related weblogs

advogato
bsd today
cafe au lait
daily python
freeos
freshmeat
hack the planet
ibm developerworks
infoanarchy
lambda
librenix
newsforge
o'reilly network
php everywhere
rootprompt
use perl
xmlhack

sources
linux software encyclopedia




























scientific software
 
Tuesday, November 12, 2002  
DSpace


MIT and Hewlett-Packard have collaborated on a software package called DSpace that provides a way to preserve and share the intellectual output of research.

DSpace is an open source software platform that enables institutions to:

  • capture and describe digital works using a submission workflow module;
  • distribute an institution's digital works over the web through a search and retrieval system; and
  • preserve digital works over the long term.


Marvel at the features, read the DSpace System Documentation and download it from SourceForge.


The requirements for installing and using this are a UNIX-like OS (tested with HP/UX, Linux and OS X), Java, JavaBeans Activation Framework, JavaServer Pages, JavaMail, Tomcat, Apache, Apache Ant and PostgreSQL. This is a veritable leverage-fest.

11:25 AM

 
THE mpC PARALLEL PROGRAMMING ENVIRONMENT


The same folks who brought you C[] have also developed the mpC parallel programming environment, with the former being a subset of the latter. The details:


mpC is a high-level parallel language (an extension of ANSI C), designed specially to develop portable adaptable applications for heterogeneous networks of computers. The main idea underlying mpC is that an mpC application explicitly defines an abstract network and distributes data, computations and communications over the network. The mpC programming system uses this information to map the abstract network to any real executing network in such a way that ensures efficient running of the application on this real network. This mapping is performed in run time and based on information about performances of processors and links of the real network, dynamically adapting the program to the executing network.


...


The mpC programming system includes a compiler, a run-time support system (RTSS), a library, and a command-line user interface. The compiler translates a source mpC program into the ANSI C program with calls to functions of RTSS. RTSS manages processes, constituting the parallel program, and provides communications. It encapsulates a particular communication platform (currently, a subset of MPI) ensuring platform-independence of the rest of system components.

The documentation includes:

9:34 AM

Monday, November 11, 2002  
THE C[] PROGRAMMING LANGUAGE


C[] provides Fortran90-like arrays for C via a pre-compiler. According to the authors at the Institute for System Programming at the Russian Academy of Sciences:

The C[] (pronounced "see brackets") programming language is a Fortran90-like C extension. While preserving all ANSI C syntax and semantics, new powerful facilities for array processing are introduced.


The C[] programming language is aimed at producing portable, tunable and efficient code for a variety of modern platforms. In particular, systems with multilevel memory hierarchy and instruction level parallelism are supported.


Support of array-based computations is provided. The language permits to manipulate arrays as single objects. The C[] syntax offers natural form to express array-based computations which also allows compiler to fully utilize the performance potential of a target platform.


The key C[] features are:


  • Access to an array as a whole as well as access to both regular and irregular segments of an array
  • Variable-size (dynamic) arrays
  • Variety of elementwise and reduction operators


C[] is a subset of the mpC programming language. While C[] addresses instruction level parallelism and memory hierarchy of a single-chip platform, mpC is aimed at exploiting parallelism of distributed memory architectures. Thus, mpC provides a way for comprehensive utilization of the performance potential of a target platform (for example, a network of UNIX workstations) at all levels.



A cbc compiler translates source code files of the form *.cb into C files, which are then compiled by your native C compiler via, e.g.


gcc -I/usr/local/CBC/h test.c


where /usr/local/CBC/h is the subdirectory of the C[] root directory containing the needed include files.


The documentation includes:


5:27 PM

 
This page is powered by Blogger.