training_torchfort

Module

Description

$Id$

CPARAM logical, parameter :: ltraining = .true.

MAUX CONTRIBUTION 6 COMMUNICATED AUXILIARIES 6


Quick access

Variables:

calc_tau, checkpoint_output_dir, config_file, descale, dt_train, end_time, idiag_loss, idiag_tauerror, infer, inference_time, input, input_channels, input_max, input_min, isgs_emf, isgs_emfx, isgs_emfy, isgs_emfz, istat, it_train, it_train_chkpt, it_train_end, it_train_start, itau_bb, itau_bbxx, itau_bbxy, itau_bbxz, itau_bbyy, itau_bbyz, itau_bbzz, itau_hydro, itau_hydroxx, itau_hydroxy, itau_hydroxz, itau_hydroyy, itau_hydroyz, itau_hydrozz, label, lckpt_written, lfortran_launched, lmodel_saved, lroute_via_cpu, lrun_epoch, lscale, ltrain_dens, ltrain_mag, ltrained, luse_trained_tau, lwrite_sample, max_loss, model, model_device, model_file, model_output_dir, output, output_channels, output_max, output_min, save_chkpt, save_model, scale, start_infer, start_time, t_last_chkpt, t_train_chkpt, t_train_end, t_train_start, tau_pred, tauerror, train, train_loss, train_step_ckpt, training_time, uumean, val_step_ckpt, write_sample

Routines:

calc_diagnostics_training(), dtraining_dt(), finalize_training(), get_slices_training(), initialize_training(), read_training_run_pars(), register_training(), rprint_training(), training_after_boundary(), write_training_run_pars()

Needed modules

Variables

  • training/calc_tau [private]
  • training/checkpoint_output_dir [character,private]
  • training/config_file [character,private/optional/default="config_mlp_native.yaml"]
  • training/descale [private]
  • training/dt_train [real,private/optional/default=1e-10]
  • training/end_time [real,private]
  • training/idiag_loss [integer,private/optional/default=0]

    DIAG_DOC: torchfort training loss

  • training/idiag_tauerror [integer,private/optional/default=0]

    DIAG_DOC: $sqrt{left<(sum_{i,j} u_i*u_j - tau_{ij})^2right>}$

  • training/infer [private]
  • training/inference_time [real,public/optional/default=0]
  • training/input (*,*,*,*,*) [real,private/device/allocatable]
  • training/input_channels [integer,private/optional/default=3]
  • training/input_max [real,private]
  • training/input_min [real,private]
  • training/isgs_emf [integer,private]
  • training/isgs_emfx [integer,private]
  • training/isgs_emfy [integer,private]
  • training/isgs_emfz [integer,private]
  • training/istat [integer,private]
  • training/it_train [integer,private/optional/default=-1]
  • training/it_train_chkpt [integer,private/optional/default=-1]
  • training/it_train_end [integer,private/optional/default=-1]
  • training/it_train_start [integer,private/optional/default=1]
  • training/itau_bb [integer,private]
  • training/itau_bbxx [integer,private]
  • training/itau_bbxy [integer,private]
  • training/itau_bbxz [integer,private]
  • training/itau_bbyy [integer,private]
  • training/itau_bbyz [integer,private]
  • training/itau_bbzz [integer,private]
  • training/itau_hydro [integer,private]
  • training/itau_hydroxx [integer,private]
  • training/itau_hydroxy [integer,private]
  • training/itau_hydroxz [integer,private]
  • training/itau_hydroyy [integer,private]
  • training/itau_hydroyz [integer,private]
  • training/itau_hydrozz [integer,private]
  • training/label (*,*,*,*,*) [real,private/device/allocatable]
  • training/lckpt_written [logical,private/optional/default=.false.]
  • training/lfortran_launched [logical,private]
  • training/lmodel_saved [logical,private/optional/default=.false.]
  • training/lroute_via_cpu [logical,private/optional/default=.false.]
  • training/lrun_epoch [logical,private/optional/default=.false.]
  • training/lscale [logical,private/optional/default=.true.]
  • training/ltrain_dens [logical,private/optional/default=.false.]
  • training/ltrain_mag [logical,private/optional/default=.false.]
  • training/ltrained [logical,private/optional/default=.false.]
  • training/luse_trained_tau [logical,private]
  • training/lwrite_sample [logical,private/optional/default=.false.]
  • training/max_loss [real,private/optional/default=0.0001]
  • training/model [character,private/optional/default='model']
  • training/model_device [integer,private/optional/default=0]
  • training/model_file [character,private]
  • training/model_output_dir [character,private]
  • training/output (*,*,*,*,*) [real,private/device/allocatable]
  • training/output_channels [integer,private/optional/default=6]
  • training/output_max [real,private]
  • training/output_min [real,private]
  • training/save_chkpt [private]
  • training/save_model [private]
  • training/scale [private]
  • training/start_infer [real,private/optional/default=0.0]
  • training/start_time [real,private]
  • training/t_last_chkpt [real,private/save/optional/default=0.0]
  • training/t_train_chkpt [real,private/optional/default=-1.0]
  • training/t_train_end [real,private/optional/default=-1.0]
  • training/t_train_start [real,private/optional/default=0.0]
  • training/tau_pred (mx,my,mz,6) [real,private]
  • training/tauerror [real,private]
  • training/train [private]
  • training/train_loss [real,private]

    (KIND=rkind4) :: train_loss

  • training/train_step_ckpt [integer,private]
  • training/training_time [real,public/optional/default=0]
  • training/uumean (mx,my,mz,3) [real,private]
  • training/val_step_ckpt [integer,private]
  • training/write_sample [private]

Subroutines and functions

subroutine  training/initialize_training(f)
Parameters:

f (,,*,*) [real,contiguous] :: host to device

Use :

file_io (file_exists()), mpicomm (mpibcast(), mpi_comm_pencil()), syscalls (system_cmd()), gpu (tf_create_model(), tf_load_model(), tf_load_model_checkpoint())

Called from:

register_modules(), initialize_modules()

Call to:

system_cmd(), tf_create_model(), tf_load_model(), tf_load_model_checkpoint(), svn_id(), smooth(), mpiwtime(), infer_gpu(), tf_save_model(), tf_save_checkpoint(), train_gpu(), div_tensor(), calc_diagnostics_training(), save_name()

subroutine  training/register_training()

Register slots in f-array for the six independent components of the Reynolds stress tensor tau.

Use :

farraymanager

Called from:

register_modules()

Call to:

svn_id(), smooth(), mpiwtime(), infer_gpu(), tf_save_model(), tf_save_checkpoint(), train_gpu(), div_tensor(), calc_diagnostics_training(), save_name()

subroutine  training/read_training_run_pars(iomsg)

23-jan-24/MR: coded

Parameters:

iomsg [character,out]

Use :

file_io (parallel_unit())

Call to:

smooth(), mpiwtime(), infer_gpu(), tf_save_model(), tf_save_checkpoint(), train_gpu(), div_tensor(), calc_diagnostics_training(), save_name()

subroutine  training/write_training_run_pars(unit)
Parameters:

unit [integer,in]

Called from:

get_datadir(), get_snapdir(), read_all_init_pars(), read_all_run_pars(), get_downpars()

Call to:

smooth(), mpiwtime(), infer_gpu(), tf_save_model(), tf_save_checkpoint(), train_gpu(), div_tensor(), calc_diagnostics_training(), save_name()

subroutine  training/training_after_boundary(f)
Parameters:

f (,,*,*) [real,contiguous] :: host to device

Use :

sub (smooth()), gpu (tau_snapshots())

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

smooth(), mpiwtime(), infer_gpu(), tf_save_model(), tf_save_checkpoint(), train_gpu(), div_tensor(), calc_diagnostics_training(), save_name()

subroutine  training/dtraining_dt(f, df)
Parameters:
  • f (,,*,*) [real,contiguous]

  • df (,,*,*) [real,contiguous]

Use :

sub (div_tensor())

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), perform_diagnostics(), finalize_diagnostics()

Call to:

div_tensor(), calc_diagnostics_training(), save_name()

subroutine  training/calc_diagnostics_training(f)
Parameters:

f (,,*,*) [real,contiguous]

Use :

diagnostics (sum_mn_name(), save_name())

Called from:

pde(), write_diagnostics(), calc_all_module_diagnostic_auxiliaries(), initialize_training(), register_training(), read_training_run_pars(), write_training_run_pars(), training_after_boundary(), dtraining_dt()

Call to:

save_name()

subroutine  training/get_slices_training(f, slices)

Write slices for animation of predicted Reynolds stresses.

Parameters:
Use :

slices_methods (assign_slices_scal())

Called from:

wvid_prepare(), wvid()

subroutine  training/rprint_training(lreset)

reads and registers print parameters relevant for training

Parameters:

lreset [logical]

Use :

diagnostics (parse_name())

Called from:

register_modules(), initialize_modules(), finalize_modules(), choose_pencils(), rprint_list()

subroutine  training/finalize_training()

Save trained model.

Called from:

register_modules(), initialize_modules(), finalize_modules()