open-catalog
open-catalog copied to clipboard
This catalog is a collaborative effort to consolidate the collective wisdom of performance experts on the best practices for performance. It consists of a glossary and a list of checks for the C, C++...
Just the entry and example codes. The benchmark will be added soon.
In Fortran the status of a pointer can be: undefined, not associated or associated. The first is the status upon creating the pointer, which implies that calling `associated` on it...
In Fortran there is no equivalence between logical and integer variables, so `0` is not a replacement for `.false.`, and `1` does not replace `.true.`. Yet, some compilers (ifort) will...
Over time, several intrinsic functions have been labeled archaic. See [here](https://gcc.gnu.org/onlinedocs/gcc-3.0.4/g77/Table-of-Intrinsic-Functions.html#Table%20of%20Intrinsic%20Functions) for the complete list. They should be replaced by their modern equivalent. For example: `dsin` works for real, while...
Let's say that I'm editing a module that is very deep in the code base. For example, I might want to experiment with different ways of factorizing a matrix, without...
In Fortran, it is possible to create an array with ```fortran real*8, dimension(:), pointer :: vec allocate(vec(100)) ``` the effect of this code is to allocate an array, and associate...
The `OPEN` statement allows the `ACTION` specifier which can be `READ`, `WRITE`, OR `READWRITE`, analogous to `INTENT(IN)`, `INTENT(OUT)`, and `INTENT(INOUT)` respectively. The programmer knows how an opened file is to...
With the following example, gfortran has runtime error: ``` program main character(len=5) :: s write(s, '(3I0)') [11, 22, 33] print '(a)', s end program main ``` since the written string...
Format strings like '(5I0)' will generate single long number. Most of time, it is undesired behaviour. Example: ``` program main print '(3I0)', [11, 22, 33] print '(3I0)', [112, 23, 3]...