engine_exit_data Subroutine

public subroutine engine_exit_data(engine)

Unwind device residency. Idempotent-adjacent: caller checks device_mapped (mirrors rdb_handle’s ocean_handle_t).

Arguments

Type IntentOptional Attributes Name
type(ocean_engine_t), intent(inout) :: engine

Calls

proc~~engine_exit_data~~CallsGraph proc~engine_exit_data engine_exit_data proc~ice_ocean_stress_cleanup ice_ocean_stress_cleanup proc~engine_exit_data->proc~ice_ocean_stress_cleanup proc~ocean_state_exit_data ocean_state_exit_data proc~engine_exit_data->proc~ocean_state_exit_data proc~ocean_bc_state_exit_data ocean_bc_state_exit_data proc~ocean_state_exit_data->proc~ocean_bc_state_exit_data proc~ocean_data_input_exit_data ocean_data_input_t%ocean_data_input_exit_data proc~ocean_state_exit_data->proc~ocean_data_input_exit_data proc~profiler_start profiler_start proc~ocean_state_exit_data->proc~profiler_start proc~profiler_stop profiler_stop proc~ocean_state_exit_data->proc~profiler_stop proc~ocean_data_input_exit_data_impl ocean_data_input_exit_data_impl proc~ocean_data_input_exit_data->proc~ocean_data_input_exit_data_impl proc~find_or_create_region find_or_create_region proc~profiler_start->proc~find_or_create_region proc~get_wall_time get_wall_time proc~profiler_start->proc~get_wall_time proc~nvtx_range_push nvtx_range_push proc~profiler_start->proc~nvtx_range_push proc~profiler_stop->proc~get_wall_time proc~nvtx_range_pop nvtx_range_pop proc~profiler_stop->proc~nvtx_range_pop

Called by

proc~~engine_exit_data~~CalledByGraph proc~engine_exit_data engine_exit_data proc~driver_run_ocean driver_run_ocean proc~driver_run_ocean->proc~engine_exit_data proc~rdb_ocean_destroy rdb_ocean_destroy proc~rdb_ocean_destroy->proc~engine_exit_data proc~driver_run driver_run proc~driver_run->proc~driver_run_ocean

Source Code

   subroutine engine_exit_data(engine)
      !! Unwind device residency. Idempotent-adjacent: caller checks
      !! `device_mapped` (mirrors `rdb_handle`'s `ocean_handle_t`).
      type(ocean_engine_t), intent(inout) :: engine

      call ocean_state_exit_data(engine%state)
      call ice_ocean_stress_cleanup()
      engine%device_mapped = .false.
   end subroutine engine_exit_data