XCP_D: Multiproc plugin error: TypeError: load() missing 1 required positional argument: 'Loader'

Hi experts,

I have been trying to use the multiproc plugin to speed up XCP_D as suggested on the documentation using the script below:

disk="/home/jiayi/Desktop"
project_dir=“Control_EXCI_MRI”
fmriprep_dir=“data_fmriprep_fMRI_1”
postprocess_dir=“data_XCPD1”
scratch=“scratch”
plugin_file="/home/jiayi/Desktop/Intervention_EXCI_MRI/Codes/plugin.yml"

sudo docker run -it
-v $disk/$project_dir/$fmriprep_dir:/fmriprep:ro
-v $disk/$project_dir/$postprocess_dir:/out
-v $disk/$project_dir/$fmriprep_dir/sourcedata/freesurfer:/freesurfer:ro
-v $disk/$project_dir/$postprocess_dir/scratch:/scratch
-v $plugin_file:/plugin.yml
pennlinc/xcp_d:0.2.0
/fmriprep /out participant
–use-plugin /plugin.yml
-w /scratch
–despike
–head_radius 50
–input fmriprep
–nuissance-regressors acompcor
–lower-bpf 0.01 --upper-bpf 0.08
–dummytime 7.5
–omp-nthreads 4
–mem_gb 80
–verbose
–resource-monitor

but I ran into the error below:

Process Process-2:
Traceback (most recent call last):
File “/usr/local/miniconda/lib/python3.8/multiprocessing/process.py”, line 315, in _bootstrap
self.run()
File “/usr/local/miniconda/lib/python3.8/multiprocessing/process.py”, line 108, in run
self._target(*self._args, **self._kwargs)
File “/usr/local/miniconda/lib/python3.8/site-packages/xcp_d/cli/run.py”, line 832, in build_workflow
plugin_settings = loadyml(f)
TypeError: load() missing 1 required positional argument: ‘Loader’

This is the contents of plugin.yml

plugin: LegacyMultiProc
plugin_args: {maxtasksperchild: 1, memory_gb: 250, n_procs: 16, raise_insufficient: false}

which works for fMRIprep.

Can anyone point out what I have done wrong?

Thank you!
Regards,
Vae

Hi Vae,

Where in the documentation is this recommended? It looks like MultiProc is enabled by default. Look here: xcp_d/run.py at b54ed02c79705e958d460f08a89670595421d3f2 · PennLINC/xcp_d · GitHub

Best,
Steven

Hi Steven,

Thanks for the reply!

I guess I am confused by this:

–use-plugin
nipype plugin configuration file. for more information see Using Nipype Plugins — nipy pipeline and interfaces package

from

https://xcp-d.readthedocs.io/en/latest/usage.html

the nipype page does include many plugins, I saw multiproc and assumed that they were inferring to that. Do you know which plugin they are referring to?

Thank you!
Regards,
Vae