我一直在启用 rapidsai
的 GPU 上使用 cuda
的 cuML 库中的随机森林实现,与 {{1} 相比,我对它的运行速度感到非常满意} 的 CPU 训练。但是,对我的数据集进行单次训练并不能充分利用 GPU,因此理想情况下,应该能够在单个显卡上同时训练多个模型。
我对 sklearn
内部机制的有限理解是,在同一个 GPU 上运行多个进程根本无济于事,因为 GPU 将在进程之间交替,而不是真正同时运行它们。真正需要的是明确处理 cuda
流并在其自己的流中运行每个训练。
这是我遇到问题的地方。我从关于流和句柄的 cuda
文档中收集到的是,要运行带有显式流的单个模型(此处针对来自 Pandas 的表格数据集),您需要执行以下操作:
rapidsai
但是,运行此代码会导致段错误。
如果有人能帮助我完成这项工作,或者如果有人有不同的方法来实现相同的结果(即在一个 GPU 上训练多个随机森林),我将不胜感激。