I'm trying to speed up the import of a large number of files, using ParallelTable to store them in a indexed variable, eqDump. The files are in the folder "Frames" and are named "Conf_Run.1000", "Conf_Run.2000", ... Here is what I've tried,
Clear[eqDump];
SetSharedFunction[eqDump];
ParallelTable[
eqDump[t] = Import["Frames/Conf_Run." <> ToString[t]
,"Table"
,HeaderLines -> 9]
,{t, 5000, 1000000, 5000}];
But the execution doesn't even seems to start, the kernels remain idle. I don't know whats happening, since I think it should work in the same way as here for example. I've tried also to SetSharedVariable[t] since I supposed each kernel should know the current t value, but doesn't seem to help.
I'm using Mathematica 10.0.0 on Linux system with a 3-core (6-threads) CPU. Two 4GB memory modules that should be working in dual-channel. Only one HDD.
Thank you very much!
SetSharedFunctionis that there usually is a better (more efficient) way of doing what I want to do. In your case I would not useSetSharedFunctionat all, but try something likeres=ParallelTable[ Inactive[Set][ eqDump[t] , Import[...And then on the result, in the main session, useActivate[res]– Rolf Mertig May 29 '20 at 11:22