Hi All, I was working on the issue recently and i am very close to having prototype code but i had some difficulties in initialization of the co-processing component with coprocessorinitializewithpython call. In my case, two model components and adaptor have its own processing source (or MPI_COMM_WORLD). For example, MPI processor 0, 1, 2, 3 are used by 1st model, 4, 5, 6, 7 are used by 2nd model code and 8, 9, 10, 11 is used by adaptor. The code basically handles transferring the grid information and data to adaptor. So, the problem is that if i try to call my custom coprocessorinitializewithpython call in adaptor (only in 8, 9, 10, 11) then it hangs in g_coprocessor->Initialize(); (see code at the end of the mail) step but if i call coprocessorinitializewithpython in the main code that uses all the available processor (between 0 and 11) and it runs without any problem. It seems that there is a restriction in the ParaView side (expecially vtkCPProcessor::Initialize() that can be found in CoProcessing/Catalyst/vtkCPProcessor.cxx) but i am not sure. Do you have any suggestion about that? Do you think that is it possible to fix it easily. Of corse the adaptor code could use all the processor but it is better to have its own dedicated resource that might have GPU support in those specific servers or processors. I am relatively new to VTK and it might be difficult for me to fix it and i need your guidance to start.
Best Regards, --ufuk vtkCPProcessor* g_coprocessor; extern "C" void my_coprocessorinitializewithpython_(const char* pythonScriptName, const char strarr[][255], int *size) { if (pythonScriptName != NULL) { if (!g_coprocessor) { g_coprocessor = vtkCPProcessor::New(); g_coprocessor->Initialize(); vtkSmartPointer<vtkCPPythonScriptPipeline> pipeline = vtkSmartPointer<vtkCPPythonScriptPipeline>::New(); pipeline->Initialize(pythonScriptName); g_coprocessor->AddPipeline(pipeline); //pipeline->FastDelete(); } if (!g_coprocessorData) { g_coprocessorData = vtkCPDataDescription::New(); // must be input port for all model components and for all dimensions for (int i = 0; i < *size; i++) { g_coprocessorData->AddInput(strarr[i]); std::cout << "adding input port [" << i << "] = " << strarr[i] << std::endl; } } } } _______________________________________________ Powered by www.kitware.com Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html Please keep messages on-topic and check the ParaView Wiki at: http://paraview.org/Wiki/ParaView Search the list archives at: http://markmail.org/search/?q=ParaView Follow this link to subscribe/unsubscribe: http://public.kitware.com/mailman/listinfo/paraview