提问人:fahd 提问时间:11/10/2023 更新时间:11/10/2023 访问量:7
我应该如何在 TensorFlow 中分配内核以进行内部和内部并行化?
How should I distribute cores for inter and intra parallelization in TensorFlow?
问:
我一直在尝试在集群计算机系统上运行我的神经网络训练。我得到了一个有 128 个内核的节点。我想并行运行 4 个训练,每次一次使用 32 个内核。我曾经假设 TensorFlow 会自行处理并行化,就像它过去在我的桌面上所做的那样,使用所有 8 个内核。而且我以前从未看到过“inter_op_parallelism_threads”或“intra_op_parallelism_threads”设置。为了在集群上运行代码,我确实在作业提交脚本中指定了每个任务的内核数等。但是,当我听说 intra/inter 时,我想确保使用集群上每个进程的所有 32 个内核。我发现,如果我指定这个,它会使程序更快,几乎是两倍。但是,我不确定我应该为内部和内部并行化提供多少线程。我只是喜欢
tf.config.threading.set_inter_op_parallelism_threads(32)
tf.config.threading.set_intra_op_parallelism_threads(32)
这样做可以吗?可以共享吗?还是排他性的?我应该给 16 和 16 还是多说 intra 多说,少给 inter 或类似的东西?即我拆分了所有 32 个内核,其中一些进行内部并行化,其余的进行内部并行化?
答: 暂无答案
评论