PIV computation on a cluster#
This minimal example presents how to carry out a simple PIV computation on a cluster. We need a script for the computation and a script to submit the job.
We call the script for the computation piv_complete.py
. For idempotent job,
it is important to set params.saving.how = 'complete'
.
from fluidimage.piv import Topology
params = Topology.create_default_params()
params.series.path = "../../image_samples/Karman/Images"
params.series.ind_start = 1
params.piv0.shape_crop_im0 = 32
params.multipass.number = 2
params.multipass.use_tps = True
# params.saving.how has to be equal to 'complete' for idempotent jobs
# (on clusters)
params.saving.how = "complete"
params.saving.postfix = "piv_complete_example"
topology = Topology(params, logging_level="info")
# topology.make_code_graphviz('topo.dot')
topology.compute()
The submission script is quite simple:
from fluiddyn.clusters.legi import Calcul8
cluster = Calcul8()
cluster.commands_setting_env = [
"source /etc/profile",
"module purge",
"source $HOME/miniconda3/etc/profile.d/conda.sh",
"conda activate env_fluidimage",
]
cluster.submit_script(
"piv_with_topo_complete.py",
name_run="fluidimage",
nb_cores_per_node=4,
walltime="0:15:00",
omp_num_threads=1,
idempotent=True,
delay_signal_walltime=300,
)