小白刚接触julia,之前只会一点点小白水平的bash和Python,查了一下网上的各种julia并行计算教程,发现主要有@async/@sync,@parallel,pump,@spawn/@spawnat等方法,但是相比较于之前在bash中用的parallel并行直接一次最多同时并行的任务数量,以上几种方法仿佛都不能支持限定最多并行的任务数量……另外,我的julia版本报错无@parallel这个宏(julia1.4.2),因此我选了用@async/@sync,代码如下:
for pdbline in readlines(pdblist)
@sync for pdbid in split(pdbline,",")
@async getStructuretospilt(pdbid,library,singlechainDB)
end
end
运行这段代码(其中的变量和函数已经在前面定义)会直接导致迅速并行大量任务最终cpu高速缓存崩溃报错退出,而我放弃使用并行后则可以平稳运行,看起来很像是需要指定最高并行数量,然而我使用julia -p 3 my_script.jl这样的方式并不能控制这一数量。
感谢各位大佬阅读,恳请指教!