The performance of lattice-Boltzmann solver implementations usually depends mainly on memory access patterns. Achieving high performance requires then complex code which handles careful data placement and ordering of memory transactions. In this work, we analyse the performance of an implementation based on a new approach called the data-oriented language, which allows the combining of complex memory access patterns with simple source code. As a use case, we present and provide the source code of a solver for D2Q9 lattice and show its performance on GTX Titan Xp GPU for dense and sparse geometries up to 4096 2 nodes. The obtained results are promising, around 1000 lines of code allowed us to achieve performance in the range of 0.6 to 0.7 of maximum theoretical memory bandwidth (over 2.5 and 5.0 GLUPS for double and single precision, respectively) for meshes of size above 1024 2 nodes, which is close to the current state-of-the-art. However, we also observed relatively high and sometimes difficult to predict overheads, especially for sparse data structures. The additional issue was also a rather long compilation, which extended the time of short simulations, and a lack of access to low-level optimisation mechanisms.


翻译:lattice- Boltzmann 求解器的性能通常主要取决于内存存存取模式。 实现高性能需要复杂的代码, 从而处理谨慎的数据定位和内存交易的排序。 在这项工作中, 我们根据一种名为数据导向语言的新方法分析执行的性能, 这种方法允许将复杂的内存存存存存取模式与简单的源代码相结合。 作为使用案例, 我们提出并提供D2Q9 lattice 的源代码, 并展示其在 GTX Titant Xp GPU 上对密度和稀疏的地理配方达到4096 2 个节点的性能。 所获得的结果很有希望, 大约1000 条代码使我们得以在0. 6到 0. 7 最高理论内存带的性能( 2.5 以上 和 5. 0 0 GLUPS 双精度和 单一精度) 之间实现性能。 对于尺寸超过 1024 2 节点的内存系统, 接近当前状态。 但是, 我们还观察到了相对高且有时很难预测间接间接,,,, 特别是稀薄的数据结构。 另外一个问题是是一个相当长的编译过程, 。

0
下载
关闭预览

相关内容

【ACML2020】张量网络机器学习:最近的进展和前沿,109页ppt
专知会员服务
55+阅读 · 2020年12月15日
Linux导论,Introduction to Linux,96页ppt
专知会员服务
79+阅读 · 2020年7月26日
Python图像处理,366页pdf,Image Operators Image Processing in Python
Python计算导论,560页pdf,Introduction to Computing Using Python
专知会员服务
74+阅读 · 2020年5月5日
【IJCAI2020】TransOMCS: 从语言图谱到常识图谱
专知会员服务
35+阅读 · 2020年5月4日
Python分布式计算,171页pdf,Distributed Computing with Python
专知会员服务
108+阅读 · 2020年5月3日
图神经网络库PyTorch geometric
图与推荐
17+阅读 · 2020年3月22日
分布式并行架构Ray介绍
CreateAMind
10+阅读 · 2019年8月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【推荐】用TensorFlow实现LSTM社交对话股市情感分析
机器学习研究会
11+阅读 · 2018年1月14日
推荐|Andrew Ng计算机视觉教程总结
全球人工智能
3+阅读 · 2017年11月23日
From Softmax to Sparsemax-ICML16(1)
KingsGarden
73+阅读 · 2016年11月26日
Arxiv
0+阅读 · 2021年10月21日
Arxiv
0+阅读 · 2021年10月18日
Arxiv
0+阅读 · 2021年10月15日
VIP会员
相关资讯
图神经网络库PyTorch geometric
图与推荐
17+阅读 · 2020年3月22日
分布式并行架构Ray介绍
CreateAMind
10+阅读 · 2019年8月9日
Hierarchically Structured Meta-learning
CreateAMind
26+阅读 · 2019年5月22日
Ray RLlib: Scalable 降龙十八掌
CreateAMind
9+阅读 · 2018年12月28日
A Technical Overview of AI & ML in 2018 & Trends for 2019
待字闺中
17+阅读 · 2018年12月24日
disentangled-representation-papers
CreateAMind
26+阅读 · 2018年9月12日
【推荐】用TensorFlow实现LSTM社交对话股市情感分析
机器学习研究会
11+阅读 · 2018年1月14日
推荐|Andrew Ng计算机视觉教程总结
全球人工智能
3+阅读 · 2017年11月23日
From Softmax to Sparsemax-ICML16(1)
KingsGarden
73+阅读 · 2016年11月26日
Top
微信扫码咨询专知VIP会员