gs2_optimisation Module

This module sits on top of gs2_main and provides a toolkit for measuring and optimising performance


Uses


Contents


Functions

public function run_optimise_gs2(state) result(should_continue)

Setup, run, and teardown GS2 optimisation preprocessing

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

GS2 program state. Depending on settings, this may be modified to set optimisations_overrides_type

Return Value logical

If true, main GS2 program should continue and run simulation, possibly applying optimised overrides


Subroutines

public subroutine initialize_gs2_optimisation(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine finalize_gs2_optimisation(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine optimise_gs2(state)

FIXME : Add documentation
This is the line which optimises GS2, by copying the optimal set of overrides into the init structure

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine output_results(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine write_summary(unt, results, optimisations)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
integer, intent(in) :: unt
type(optimisation_results_type), intent(in) :: results
type(optimisations_overrides_type), intent(in) :: optimisations

public subroutine optimise_simple(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine optimise_nprocs(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine optimise_layout(state)

FIXME : Add documentation
Measure default layout

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine optimise_flags(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine optimise_fields(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state

public subroutine measure_timestep(state)

FIXME : Add documentation

Arguments

Type IntentOptional Attributes Name
type(gs2_program_state_type), intent(inout) :: state