This page describes problems encountered when porting code to Zen and when setting up codes to run using MPI.

Multiple processes simultaneously writing to the same file

Problems arise if multiple processes try to write to the same file at the same time. There may not be anything obviously wrong other than the code running slowly. The impact on performance can be significant so it is worth checking for this problem.

Passing a literal constant as a subroutine argument

Passing a literal constant to a subroutine, via the argument list, can cause a segmentation fault. The behaviour is compiler dependent, the following example gives a segmentation fault with version 9 of ifort but not with version 10.

program seg_fault_test
  implicit none
  call foo (2)
  end program seg_fault_test

subroutine foo(x)
  implicit none
  integer :: x
  if (x<2) x=2
end subroutine foo

-- DavidAcreman - 10 Mar 2008

This topic: Zen > WebHome > ProblemsAndWorkarounds > PortingProblems
History: r1 - 10 Mar 2008 - 16:01:47 - DavidAcreman
This site is powered by the TWiki collaboration platformCopyright © by the contributing authors. All material on this collaboration platform is the property of the contributing authors.
Ideas, requests, problems regarding Astrophysics Wiki? Send feedback