注:本文中所列举测试数据为ICM 3.0版本的结果,在每年两个版本的不断升级中,ICM对于计算机资源的利用,已有更好的提升。
InfoWorks ICM的模拟引擎是非常高效的,对于一维管网和渠道网络,仅需要非常少的内存资源。即使对于成千上万根管道和检查井的大模型,InfoWorks ICM也仅需消耗数百兆(MBs)内存资源用于模拟——而非千兆(GBs)。值得一提的是,水质模拟相较于基础的水力计算,需要显著更多的资源。处理器的数量、每个处理器的时钟速度(主频),以及每个处理器包含了多少核,共同决定了你的运行以多快的速度完成。
然而,运行二维模型,在运行开始时需要多得多的内存资源。二维网格的预处理需要整个模型在模拟开始时被加载到可用的内存里。PC内存和GPU内存是分开独立处理的。PC在运行模拟时,需要足够的内存去管理初始设置、模型初始化和之后所有的输入/输出。GPU则需要足够的内存去处理所有传递给它的二维数学运算。
值得注意的是,对于所有模拟,哪怕是纯二维模拟,仍然依赖于主要的(常规)PC资源(例如,CPU),即使一台计算机有着非常强大的GPU显卡,也只有二维数学运算会在GPU上进行,其他的一切都是在CPU上。
Windows 7桌面版上运行的CPU和GPU状态监控器
上述图片来自于一台配置为Core i5处理器、6G内存、nVidia GeForce GT 440 2G独立显卡的计算机,它显示了一个195万网格的纯二维模型所需的不同内存分配。
通过CPU状态监控器可以看到,计算机的6G内存中,5.8G已被消耗。Windows系统占据了大约1.6G内存,所以ICM只用了超过4G。再看GPU状态监控器,GPU上的2G内存,1.62G被用于进行二维数学计算。
根据经验测试,对于ICM 3.0版本,一百万网格的二维模型,将这些网格传送到GPU进行数学处理需要大约1GB的GPU内存。
如果计算机或GPU出现内存溢出的情况,整个运行将失败,拟会在InfoWorks ICM的日志文件中看到报错。
本文最后的建议是,不要太执着于特定品牌或型号的PC或GPU显卡的细节。只需为自己配置一台具有良好GPU的高规格PC或服务器,InfoWorks ICM模拟就可以在该硬件上以最快的速度运行!
快扫码将文章分享给更多人吧!