I try to develop my projects under unix like operating systems. OpenSuse Factory is what I use currently as OS.
- Compilers:
- IntelCompilers for Linux – Fortran and C++ both of them can be downloaded fromIntel website. The amount of information about them on the web is quite good.
- GCC compilers - excellent and free, standard in any linux distro
- Mathematical Libraries
- INTEL Math Kernel Library – provides you all the mathematical routines that you will need. It is optimised for Intel architectures, thread safe, etc.
- If you need only a specific routine and you do not want to link against an external library Numerical Recipes is the right place for you. Free online versions for C, F77 and F90. For C++ version you have to pay. Be aware of issues.
- Parallel Programming
There are two models with which I am familiar OpenMP and MPI . OpenMP is fairly simple. For MPI you need an implementation of the standard. Nothing fancy just a library against you have to link. If your computer vendor provides you an implementation use it. Otherwise try one of the freely available
- Documentation resources
- Optimization and Debugging
Unfortunately, the best tools are not for free and they are quite expensive TotalView and Vampir/Vampirtrace derived tools. There are some free available tools, but I am really a beginner in the field and the tools are young, too.
- Project Management Resources
- Cmake the cross-platform, open-source build system. CMake is a family of tools designed to build, test and package software.
- Doxygen Source code documentation generator tool Doxygen is a documentation system for C++, C, Java, Objective-C, Python, IDL (Corba and Microsoft flavors), Fortran, VHDL, PHP, C#, and to some extent D.
- Git a version control system that is/will be a compelling replacement for SVN.