Allinea Forge is the development tool suite C++ and Fortran high performance codes on Linux.
Forge is designed to handle the complex software projects - including parallel, multiprocess and multithreaded code.
- Scalable profiling - for instructions, memory access, I/O, communication, threads and processes - from one to thousands of processes.
- Scalable debugging - with uniquely capable C++, C, Fortran and F90 debugging features that also work on thousands of processes simultaneously.
- Edit and build your code - whether held locally or remotely.
It has unique capabilities that support the workflow of developers in the field of technical and scientific computing.
All tools come with the reassurance of the backup of a rapid support team: for further information about support, to find the latest updates or to get in touch, please read the support page.
MAP is Allinea Forge's unique scalable low-overhead profiler. It helps developers to accelerate their code by revealing the causes of slow performance.
It is used from multicore Linux workstations through to the largest supercomputers on the planet.
- Fast - typically under 5% runtime overhead means that you can profile realistic test cases that you care most about.
- Easy - the interactive user interface is clear and intuitive, designed for developers and computational scientists.
- Scalable - architected for the biggest clusters and supercomputers - and the biggest and most complex codes!
- No fuss - profiles C++, C, Fortran with no relinking, instrumentation or code changes required.
MAP exposes a wide set of performance problems and bottlenecks by measuring:
- Computation - with self and child and call tree representations over time.
- Thread activity - to identify over-subscribed cores and sleeping threads that waste available CPU time for OpenMP and pthreads.
- Instruction types (for x86_64) - to show use of e.g. vector-units or other performance extensions.
- Synchronization, communication and workload imbalance for MPI or multi-process usage.
- I/O performance and time spent in I/O - to identify bottlenecks in shared or local file systems.
For further details, read the Allinea MAP features page.
DDT is the powerful debugger that helps developers fix bugs quickly. It is designed to make debugging multithreaded and parallel code fast and easy - for professional developers that work on their desktops or scientists that use massive supercomputers.
Amongst DDT's features:
- Powerful memory debugging - to catch problems like memory leaks, dangling pointers or reading beyond the bounds of arrays.
- Complete C++ debugging support - including extensible C++ STL and complex type viewing - to make viewing opaque C++/C++11 classes easy.
- Complete Fortran and F90 (and later standards) debugging support.
- Intelligent aggregation of multiple processes and threads state and date - to simplify finding unusual behavior.
- Control multiple threads and processes simultaneously - set breakpoints, run to a line, or step forwards and run.
- Automatic change detection of variables and smart highlighting and graphs of values across threads and processes.
- Arrays: we know that arrays matter to scientific code - and DDT has unique support for large multi-dimensional (and/or distributed) arrays to make viewing, exporting and filtering data easy.
For further details, visit the Allinea DDT features page.
Whether debugging or profiling, Allinea Forge lets you make those quick changes easily - with its built-in editor. There's no need for firing up a separate editor and breaking your workflow. When the changes are done, simply rebuild and debug again, or profile the code to see the impact of those changes.
Forge also supports the major source control systems and can annotate your code to let you know when code was changed, and who by. Ideal for those large multi-developer projects: find out who broke the build easily!
- Supports Git, Mercurial, Subversion, CVS - update the code or commit to preserve your work - or annotate the code with version numbers and change messages
- Full syntax highlighting and code-folding - hide long and irrelevant code blocks so that you can see the structure of your code more clearly.
- Configurable build - supports any build command.
- Powerful search and navigation.
- In-built static analysis for C++ projects.
The workflow of a developer in high performance computing or working in the cloud has specific needs for tools: you need to work with your code and machine often from a distance - as often as you might work on code running locally.
The whole Allinea Forge toolkit has been built with you in mind. It has unique remote connection support that brings editing, debugging and profiling into your local desktop with minimal network lag - enabling access to large scale machines from home quickly, easily and securely.
- Connects via secure shell (SSH) - running the user interface locally and controlling the remote session using our unique scalable low traffic control architecture.
- Known to work with most common one-time-password (OTP) authentication tokens.
Allinea Forge is cross platform. It supports the platforms of technical and high performance computing.
- Hardware and O/S: Linux on Intel Xeon, Intel Xeon Phi, ARM 64-bit, OpenPOWER.
- Parallel processing frameworks: Almost every known implementation of the MPI standard, OpenSHMEM and OpenMP.
- Coprocessors and accelerators: NVIDIA GPUs - and models/languages such as OpenACC and CUDA - and Intel Xeon Phi (Knights Corner).
- Systems: Multicore laptops, through to supercomputers and clusters - including those provided by key vendors such as Bull, Cray, Dell, HP, IBM, Lenovo and SGI.
A remote client is available to allow access to supported remote systems from OS/X and Windows laptops, in addition to Linux platforms.