---
title: 案例
description: "CP2K是一个量子化学和固态物理软件包，可以对固态，液态，分子，周期性，材料，晶体和生物系统进行原子模拟。其算法核心在于DBCSR分布式块压缩稀疏矩阵乘法，也是CP2K唯一使用GPU加速的模块。其计算框架如图1所示。"
url: https://www.hikunpeng.com/document/detail/zh/perftuning/gputuing-wp/kunpenggpu_19_0029.html
sourcePath: /source/zh/perftuning/gputuing-wp/kunpenggpu_19_0029.html
indexId: 4d2dc844027593f75e2ae01f94e799f818244f2567e07cc6c0affd234c2fb08857
---
# 案例

#### CP2K矩阵参数优化

CP2K是一个量子化学和固态物理软件包，可以对固态，液态，分子，周期性，材料，晶体和生物系统进行原子模拟。其算法核心在于DBCSR分布式块压缩稀疏矩阵乘法，也是CP2K唯一使用GPU加速的模块。其计算框架如图1所示。

图1 CP2K计算框架

在计算的过程中在本算例中有将近一半的时间耗费在GPU上，算法将大矩阵划分为13种块矩阵进行运算，每种块矩阵都有7个可以调节的kernel参数，其中有12个块矩阵的kernel参数是通过固定算法预测得来的，在A100架构上还具有很大的调优空间，通过自动参数调优后性能提升10%。


#### GROMACS绑核优化

GROMACS是一个用于分子动力学模拟和能量最小化的计算引擎，其通过牛顿平衡方程来模拟几百到数以百万的原子体系，其设计初衷主要用于生物分子，例如具有大量复杂键联系的蛋白，脂和核酸分子，但GROMACS如今同样被用来计算非生物体系的非键联系，例如聚合物。GROMACS相比其它分子动力学模拟软件具有一些其独有的优势。

GROMACS OpenMP线程和MPI进程应正确固定到系统的核心/线程。此操作可以通过所用的MPI启动程序/批处理系统或GROMACS完成，性能提升10%。


BF（bonded force）部分的计算是否分配给GPU影响较大，显卡任务没饱和时，BF分给显卡性能更佳，显卡任务饱和了以后BF分给CPU较快，通过优化把BF分配给CPU计算，能取得更好的性能，端到端性能提升6%。
