wiki:notes

Version 5 (modified by daley, 10 years ago) (diff)

formatting changes

Obtaining the FLASH code

Some of the FLASH code base to be used for this activity is not part of the standard distribution. To ensure that everyone in PERI with access to the code understands that it cannot be redistributed, anyone desiring access to the repository (coming soon) will need to e-mail Paul Hovland, agreeing not to redistribute the code. This is in addition to the standard FLASH license agreement (one responsible party per institution).

A new release of FLASH is planned for mid-September.

Configurations

  • RTflame problem (limited refinement)
  • White dwarf problem

NOTE: These configurations require code that is not part of the current public FLASH distribution.

FLASH userguide

The FLASH userguide is available at: http://flash.uchicago.edu/website/codesupport/flash3_ug/

The important sections are:

  1. Quick Start,

3.6 The runtime parameter file (flash.par),

  1. The FLASH configuration script (setup),
  2. Timer and Profiler Units

FLASH setup information

FLASH uses PARAMESH to manage the oct-tree AMR grid. An important parameter in this distributed data structure is MAXBLOCKS which indicates the maximum number of blocks per processor. It is particularly relevant in limited memory environments because this static memory allocation can be very large. Its value can be adjusted by passing the -maxblocks option to the setup script, e.g.

-maxblocks=100

Using TAU with FLASH

FLASH has setup support for instrumenting each subroutine using the TAU toolkit. Simply pass the full-path of a TAU makefile in the -tau option of the setup script, e.g.

-tau=/soft/apps/tau/tau_latest/bgp/lib/Makefile.tau-multiplecounters-mpi-papi-pdt

This instructs setup to replace the compilers in Makefile.h with the TAU wrapper compiler scripts, and also to copy the TAU instrumentation file at tools/tau/select.tau into the object directory. The select.tau file excludes certain subroutines from TAU instrumentation. Please note, some of the subroutines may be excluded unnecessarily as the list was constructed using an older version of FLASH with older versions of the TAU software stack.

FLASH timers

FLASH has in-built timers giving timing information for labelled code sections. These are switched on by default, but they can be switched off by replacing them with a stub implementation at setup time. This is done by passing the following line to the setup script:

--without-unit=monitors/Timers/TimersMain

As an alternative, a custom timer implementation has been written. This times the labelled code sections in FLASH using TAU timers and not the in-built FLASH timers. Timing data for any labelled code section therefore appears alongside routine level data in the TAU profile. FLASH labelled sections are currently marked using the "* custom:" prefix in the TAU profile.

This can be included in a FLASH simulation by passing the following line to the setup script:

--with-unit=monitors/Timers/Tau

(Please note, the timer implementation is not in the tar ball we sent you, but it will be available when we create the PERI svn branch).