最近想到了一个问题,taichi可以和joblib共同使用吗?就是利用joblib的多进程管理taichi进程
1 个赞
经过简单验证,是可以的,我想这样做的目的是打包成一个pyqt5界面,然后用joblib进行taichi管理,目前来看应该可行:
from joblib import Parallel, delayed
import taichi as ti
def taichi_task(param):
# 每个进程独立初始化 Taichi(例如分配到不同 GPU)
ti.init(arch=ti.cuda) # 假设有 2 块 GPU
# print(f"Process {param} running on GPU {param % 2}")
@ti.kernel
def simulate()->ti.i32:
# 示例计算:平方操作
result = 1
return result
return simulate()
if name == ‘main’:
params = [1, 2, 3, 4]
# 启动 4 个进程,根据 GPU 数量调整 n_jobs
results = Parallel(n_jobs=4)(delayed(taichi_task)(p) for p in params)
print(“Results:”, results) # 输出: [1, 4, 9, 16]