我想知道是否有一种方法可以使用NVIDIA Cuda在GPU上解决Pyomo混凝土模型。
我看了https://developer.nvidia.com/how-to-cuda-python,看了一段视频。如果你的输入参数可以被numpy识别,比如; np.float32,np.float64,etc.可以在GPU上编译/求解,
我们使用一个函数来创建所有模型并使用以下方法求解:
optim = SolverFactory('glpk')
optim = setup_solver(optim, logfile=log_filename)
result = optim.solve(prob, tee=True)
在这种情况下,我们求解函数的输入将是prob(一个pyomo具体模型)。有没有一种方法可以通过GPU而不是CPU来解决这个问题?
感谢您!
2条答案
按热度按时间hof1towb1#
你不能
公平地说,人们可以写一本书来说明这种想法是多么的误导,但是让我们把它变得简单,只是指出一些基本的东西(忽略很多其他细节):
*GPU并非在所有情况下都更快(更严格:他们只是在某些事情上更快,这很难实现)
*没有已知的竞争基于GPU的Simplex求解器!(我实际上不知道GPU的任何Simplex实现,可以想到很多原因)
xn1cxnb42#
它不是pyomo,但它是一个解决方案,可以利用CUDA,看看NVIDIA的cuopt。这是一个相对较新的场景,但今年一直在打破纪录
https://github.com/NVIDIA/cuOpt-Resources
https://blogs.nvidia.com/blog/2023/03/21/cuopt-world-record-route/