We develop two kinds of software. The first one consists in generic libraries that will be used in the applications. We work on a (parallel) partitioner for large irregular graphs or meshes (Scotch ), on high performance direct or hybrid solvers for very large sparse systems of equations (MUMPS , PaStiX , HIPS ). The second kind of software corresponds to dedicated softwares for molecular chemistry (QC++ ), fluid mechanics (FluidBox ), and to a platform for computational steering (EPSN ). For these parallel software developments, we use the message passing (MPI) paradigm, the OpenMP programming language, threads, and the Java and/or CORBA technologies.