每组一个蛋白质
小分子
矩阵
给定距离阈值
预设条件
硬件资源:
5060Ti,CUDA core 4608个,SM单元36个,显存16GB,带宽448GB/s
CPU 12700F,12核心,20线程,内存32GB
每个坐标值为float32类型,则每组
原始任务
总任务数
计算距离矩阵,每组需要进行3次减法、3次平方、2次加法、1次求根号
优化
文件多核心加载
CUDA批次打包
根号等价代换
距离是坐标差的平方和再开根号,可以等价为阈值的平方
每个核心需要进行3次减法、3次平方、2次加法
布尔比较
得到距离平方后,直接和阈值的平方
对布尔矩阵按蛋白质的原子数聚合,得到大小为
布尔向量再按残基聚合选中残基