Programming Environment

CSC provides comprehensive environment for High Performance Computing (HPC) software development, including GNU, Intel and Cray compiler suites, most popular HPC subroutine libraries, debuggers and profiling tools. In addition to the program development environment, CSC organizes a large number of courses on programming, and publishes manuals and users' guides on HPC computing.

CSC's application specialist answer program development, optimization, and application porting questions submitted to CSC's helpdesk.

Programming languages

CSC supports the most widely used HPC programming languages Fortran, C and C++, as implemented in GNU, Intel and Cray compiler suites. Also supported is a wide variety of higher level interpreted languages, such as python and shell scripts.

Subroutine libraries

Basic matrix arithmetics, FFT transforms, etc., is most most effectively performed using precompiled and highly optimized mathematical subroutine libraries Intel MKL and Cray Libsci. In addition, many higher level mathematical and I/O subroutine libraries, such as GSL and PETSc, and HDF5 and NetCDF, respectively, are immediately available. Most uptodate list including version numbers is easiest to find by logging into the computing server and issuing module avail -command.

Debugging and profiling

The usage of Totalview debugger and CrayPat profiling tools is described in the Sisu and Taito Users' Guides.

Performance optimization

CSC's application specialist can help optimizing the performance of an application, whether it is a simple Matlab script or a complex HPC software package. Support can be requested and the application specialist contacted through CSC's Service Desk. Small optimization request are handled as regular user support. Larger optimization tasks are handled through CSC's Performance optimization service.

Other software development tools

Most modern supercomputers, such as sisu and taito, are basically Linux machines, and have the usual program development tools, such as cvs, svn and git version control systems, text editors, etc., available. If something is missing, it can most likely be installed upon request to CSC Service Desk.