qmctorch.solver.solver_slater_jastrow_horovod module

qmctorch.solver.solver_mpi.logd(rank, *args)[source]
class qmctorch.solver.solver_mpi.SolverMPI(wf=None, sampler=None, optimizer=None, scheduler=None, output=None, rank=0)[source]

Bases: qmctorch.solver.solver.Solver

Distributed QMC solver

Parameters:
  • wf (qmctorch.WaveFunction, optional) – wave function. Defaults to None.
  • sampler (qmctorch.sampler, optional) – Sampler. Defaults to None.
  • optimizer (torch.optim, optional) – optimizer. Defaults to None.
  • scheduler (torch.optim, optional) – scheduler. Defaults to None.
  • output (str, optional) – hdf5 filename. Defaults to None.
  • rank (int, optional) – rank of he process. Defaults to 0.
run(nepoch, batchsize=None, loss='energy', clip_loss=False, grad='manual', hdf5_group='wf_opt', num_threads=1, chkpt_every=None)[source]

Run the optimization

Parameters:
  • nepoch (int) – Number of optimization step
  • batchsize (int, optional) – Number of sample in a mini batch. If None, all samples are used. Defaults to None.
  • loss (str, optional) – method to compute the loss: variance or energy. Defaults to ‘energy’.
  • clip_loss (bool, optional) – Clip the loss values at +/- 5std. Defaults to False.
  • grad (str, optional) – method to compute the gradients: ‘auto’ or ‘manual’. Defaults to ‘auto’.
  • hdf5_group (str, optional) – name of the hdf5 group where to store the data. Defaults to ‘wf_opt’
single_point(with_tqdm=True, hdf5_group='single_point')[source]

Performs a single point calculation

Parameters:
  • with_tqdm (bool, optional) – use tqdm for samplig. Defaults to True.
  • hdf5_group (str, optional) – hdf5 group where to store the data. Defaults to ‘single_point’.
Returns:

contains the local energy, positions, …

Return type:

SimpleNamespace

static metric_average(val, name)[source]

Average a give quantity over all processes

Parameters:
  • {torch.tensor} -- data to average (val) –
  • {str} -- name of the data (name) –
Returns:

torch.tensor – Averaged quantity