Skip to content

multifit_sqw doesn't work with parallelisation on, when using a Python function #40

@henrikjacobsenfys

Description

@henrikjacobsenfys

To reproduce, run this example, with a few modifications: https://github.com/pace-neutrons/pace-python/blob/main/examples/sqw_eval_example.py

  • set m.hpc('on')
  • Change the fit function on line 80 to be py_fe_sqw

The error is pasted below:

**** Waiting for parallel cluster: ClusterHerbert to start
..
**** Parallel cluster "ClusterHerbert" is ready to execute tasks
**** starting parallel task: ParallelMF_539760190
Job ParallelMF_539760190 have failed. Outputs: 
Task N1 failed. Reason: Task N1 cancelled
Task N2 failed. Error MATLAB:mex:CppMexException; Message Python function is not callable.
Warning:  Number: 2 parallel tasks out of total: 2 tasks have failed
***** Error output N 1Error using receive_all_messages_
Node 1: interrupted receive from node 2 by cancellation message: cancelled, Reason: Python function is not callable.

Error in iMessagesFramework/receive_all (line 314)

Error in JobExecutor/reduce (line 669)

Error in MFParallel_Job/setup (line 99)

Error in parallel_worker (line 274)

Error in worker_v4 (line 49)

Error in call>eval_ans (line 94)
...
Error in worker_v4 (line 49)

Error in call>eval_ans (line 94)

Error in call (line 36)
Output is truncated. View as a [scrollable element](command:cellOutput.enableScrolling?193d7a23-0bb6-403d-bf9e-8026a91ec293) or open in a [text editor](command:workbench.action.openLargeOutput?193d7a23-0bb6-403d-bf9e-8026a91ec293). Adjust cell output [settings](command:workbench.action.openSettings?%5B%22%40tag%3AnotebookOutputLayout%22%5D)...
---------------------------------------------------------------------------
RuntimeError                              Traceback (most recent call last)
Cell In[5], [line 12](vscode-notebook-cell:?execution_count=5&line=12)
     [10](vscode-notebook-cell:?execution_count=5&line=10) # Time it to see how long it takes to do the fit
     [11](vscode-notebook-cell:?execution_count=5&line=11) m.tic()
---> [12](vscode-notebook-cell:?execution_count=5&line=12) wfit, fitdata = kk.fit('comp')
     [13](vscode-notebook-cell:?execution_count=5&line=13) t_ana = m.toc();
     [14](vscode-notebook-cell:?execution_count=5&line=14) print(t_ana)

File c:\Users\henrikjacobsen3\AppData\Local\miniforge3\envs\pace_env\lib\site-packages\libpymcr\MatlabProxyObject.py:111, in matlab_method.__call__(self, *args, **kwargs)
    [109](file:///C:/Users/henrikjacobsen3/AppData/Local/miniforge3/envs/pace_env/lib/site-packages/libpymcr/MatlabProxyObject.py:109) args += sum(kwargs.items(), ())
    [110](file:///C:/Users/henrikjacobsen3/AppData/Local/miniforge3/envs/pace_env/lib/site-packages/libpymcr/MatlabProxyObject.py:110) args = unwrap(args, ifc)
--> [111](file:///C:/Users/henrikjacobsen3/AppData/Local/miniforge3/envs/pace_env/lib/site-packages/libpymcr/MatlabProxyObject.py:111) rv = ifc.call(self.method, self.proxy.handle, *args, nargout=nargout)
    [112](file:///C:/Users/henrikjacobsen3/AppData/Local/miniforge3/envs/pace_env/lib/site-packages/libpymcr/MatlabProxyObject.py:112) return wrap(rv, ifc)

RuntimeError: MatlabExecutionError: 
  File "C:\Users\henrikjacobsen3\AppData\Local\Temp\henrikjacobsen3\mcrCache9.14\pace_21\pace_2023a\buildtmp\CTF\Horace\herbert_core\applications\multifit\@mfclass\private\multifit_lsqr_par.m", line 270, function "multifit_lsqr_par"
  File "C:\Users\henrikjacobsen3\AppData\Local\Temp\henrikjacobsen3\mcrCache9.14\pace_21\pace_2023a\buildtmp\CTF\Horace\herbert_core\applications\multifit\@mfclass\private\multifit_lsqr.m", line 200, function "multifit_lsqr"
  File "C:\Users\henrikjacobsen3\AppData\Local\Temp\henrikjacobsen3\mcrCache9.14\pace_21\pace_2023a\buildtmp\CTF\Horace\herbert_core\applications\multifit\@mfclass\fit.m", line 81, function "fit"
  File "C:\Users\henrikjacobsen3\AppData\Local\Temp\henrikjacobsen3\mcrCache9.14\pace_21\pace_2023a\buildtmp\CTF\Horace\horace_core\sqw\multifit_subclasses\mfclass_Horace_sqw.m", line 814, function "mfclass_Horace_sqw.fit"
  File "C:\Users\henrikjacobsen3\AppData\Local\Temp\henrikjacobsen3\mcrCache9.14\pace_21\pace_2023a\src\call.m", line 20, function "call"

HERBERT:multifit_lsqr_par:parallel_error: Error in MFParallel_Job, please see report

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions