有什么方法可以使用 cpu 来估算 gpu 的计算时间吗?
Is there any way to estimate computing time of gpu by using cpu?
我制作了简单的深度学习模型。我现在桌面上只有 cpu。
但是我必须在 gpu 设置中估计模型的训练时间。
我不需要准确的训练时间估计。
大概时间对我来说没问题。
有什么方法或指标吗?
我的一个想法是比较GFLOP,但是我计算的时候也是无意义的..
例如。 cpu:英特尔 e5-2686 v4,GPU:nvidia k80
您可以使用一种非常朴素的方法来估算加速,方法是估算数据集中的并行度(例如,如果并行度高得离谱,这可能等于数据集中的维数) ,假设并发的最佳情况实现,实际传输数据的开销为零,那么数学就变得简单了:
speedup=# of physical working items on GPU (usually # of CUDA cores in
typical nvidia implementation) divided by # of physical working items
on CPU (# of physical cores).
还有一些未考虑的差异与不同的硬件架构(ISR、设计等)有关。根据您对模型并行性的估计,这些计算与现实生活中的性能会有很大差异, 并发和硬件的实现。
我制作了简单的深度学习模型。我现在桌面上只有 cpu。 但是我必须在 gpu 设置中估计模型的训练时间。 我不需要准确的训练时间估计。 大概时间对我来说没问题。 有什么方法或指标吗? 我的一个想法是比较GFLOP,但是我计算的时候也是无意义的..
例如。 cpu:英特尔 e5-2686 v4,GPU:nvidia k80
您可以使用一种非常朴素的方法来估算加速,方法是估算数据集中的并行度(例如,如果并行度高得离谱,这可能等于数据集中的维数) ,假设并发的最佳情况实现,实际传输数据的开销为零,那么数学就变得简单了:
speedup=# of physical working items on GPU (usually # of CUDA cores in typical nvidia implementation) divided by # of physical working items on CPU (# of physical cores).
还有一些未考虑的差异与不同的硬件架构(ISR、设计等)有关。根据您对模型并行性的估计,这些计算与现实生活中的性能会有很大差异, 并发和硬件的实现。