1

我在这里看到对于多处理,应该使用 numpy memmaps

https://joblib.readthedocs.io/en/latest/parallel.html#working-with-numerical-data-in-shared-memory-memmapping

由于这个问题经常发生在基于 numpy 的数据结构的科学计算中,joblib.Parallel 为大型数组提供了一种特殊处理,以自动将它们转储到文件系统上,并将引用传递给 worker 以使用 numpy 将它们作为该文件上的内存映射打开numpy.ndarray 的 .memmap 子类。这使得在所有工作进程之间共享一段数据成为可能。

我想知道 memmap 是否可以处理最大数量的进程。我问是因为我的 jupyter notebook 似乎在 24 个进程访问同一个大内存映射时崩溃了。如果这是由于数量或流程造成的,我正在尝试隔离。

4

0 回答 0