OpenMM的安装与使用
摘要:
本文介绍了AlphaFold2中所使用到的开源分子动力学模拟软件OpenMM的安装和基础使用方法,其中包含了pdbfixer蛋白质构象文件修复工具的介绍和一个真空蛋白体系的能量极小化示例,并且提供了一些有可能在OpenMM的安装和使用过程中遇到的问题和解决方法。
![OpenMM的安装与使用](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241122154344975-424155253.png)
Jax中关于NonZero的使用
摘要:
在使用Jax的过程中,有时候会遇到函数输出是一个动态的Shape,这种情况下我们很难利用到Jax的即时编译的功能,不能使得性能最大化。这也是使用Tensor数据结构来计算的一个特点,有好有坏。本文介绍了Jax的另外一个函数NonZero,可以使得我们能够编译那些动态Shape输出的函数。
![Jax中关于NonZero的使用](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241121111446755-749646074.png)
Conda环境Git Pull报错
摘要:
本文总结了一个在conda环境下使用git pull出现报错:symbol lookup error: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer的问题。通过建立软链接到版本更新的系统环境下的动态链接库中,即可解决该问题。
![Conda环境Git Pull报错](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241119151522663-1594146718.png)
MindSpore-2.4版本中的一些新特性
摘要:
接上一篇对于MindSpore-2.4-gpu版本的安装介绍,本文主要介绍一些MindSpore-2.4版本中的新特性,例如使用hal对设备和流进行管理,进而支持Stream流计算。另外还有类似于Jax中的fori_loop方法,MindSpore最新版本中也支持了ForiLoop循环体,使得循环的执行更加高效,也是端到端自动微分的强大利器之一。
![MindSpore-2.4版本中的一些新特性](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241119105645120-1538508407.png)
解决MindSpore-2.4-GPU版本的安装问题
摘要:
本文介绍了在Ubuntu-20.04系统下安装最新的MindSpore-2.4-for-GPU版本的方法,以及安装过程中有可能出现的一些问题。虽然在MindSpore的正式版本中已经不再支持GPU硬件后端,但是开发版本目前还是持续在支持的,并且其中包含了2.3和2.4版本的新特性,只是算子层面没有更新和优化。对于GPU后端的MindSpore用户来说,也算是一个好消息。
![解决MindSpore-2.4-GPU版本的安装问题](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241118103504050-1846579248.png)
Git推送报错Authentication failed
摘要:
在某一次的Git推送中出现了一个奇怪的报错Authentication failed,经过一番测试有可能是VSCode的Git插件所导致的问题,本文提供了一个在VSCode的Terminal中可以正常push的解决方案。
![Git推送报错Authentication failed](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241108092334081-1162347873.png)
Jax中关于Device ID的配置
摘要:
本文主要介绍了2个在Jax框架中配置显卡Device ID的方法。第一种方法可以使用环境变量进行配置,对于众多的深度学习框架都是可以兼容的。而第二种方案是在Jax即时编译的过程中通过Jax生成的Device对象来控制数据的传输和函数执行的Device ID。
![Jax中关于Device ID的配置](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241105164707516-1491370030.png)
MindSponge分子动力学模拟——增强采样(2024.11)
摘要:
本文介绍了在MindSponge中进行分子动力学模拟以及增强采样的实现方法。通过使用MetaDynamics增强采样算法,我们可以将分子模拟的采样子空间,从某个能量极小值区域,扩大到尽可能大的采样子空间。
![MindSponge分子动力学模拟——增强采样(2024.11)](https://img2024.cnblogs.com/blog/2277440/202411/2277440-20241101151639845-55869098.png)
PME算法简单Python实现
摘要:
基于前面几篇博客关于PME算法的理论推导,本文给出了一个简单版本的Python代码实现,并且对比了PME算法相比于实空间迭代算法的优越性。从结果上来看,一维的静电势能计算中,PME单步得到的计算结果非常接近于实空间迭代1万个Box的近似结果。
![PME算法简单Python实现](https://img2024.cnblogs.com/blog/2277440/202410/2277440-20241031105206565-770230366.png)
格点拉格朗日插值与PME算法
摘要:
本文介绍了使用基于格点拉格朗日插值法的Particle Mesh Ewald算法,降低分子力场中的静电势能项计算复杂度的基本原理。静电势能的计算在Ewald求和框架下被拆分成了远程相互作用项和短程相互作用项,其中短程相互作用项关于实空间的点电荷间距快速收敛,而远程相互作用项在倒易空间慢速收敛。因此在远程相互作用的计算中,可以使用插值法降低单个倒易格点的计算复杂度,从而使得整体的远程相互作用项计算也能够快速收敛。
![格点拉格朗日插值与PME算法](https://img2024.cnblogs.com/blog/2277440/202410/2277440-20241018092916393-1909480244.png)
拉格朗日插值法
摘要:
本文通过线性插值和二次插值的形式,介绍了拉格朗日插值算法以及牛顿插值算法的基本形式。两种插值算法的最终函数形式是一致的,但是在不同场景下的参数求解计算量是不一致的,需要根据自己的应用场景选择更加合适的插值算法。
![拉格朗日插值法](https://img2024.cnblogs.com/blog/2277440/202410/2277440-20241015104456175-50108405.png)
Ewald求和在分子静电势能计算中的应用
摘要:
本文介绍了Ewald求和计算方法在周期性边界条件下计算静电势能的方法。周期性的静电势函数并不是一个空间收敛的函数,通过Ewald求和可以将静电势切分为短程相互作用和长程相互作用,两项分别在实空间和倒易空间(或称傅里叶空间、k空间等)收敛。然后就可以进一步进行截断,用更少的代价获得更高精度的电势能计算结果。
![Ewald求和在分子静电势能计算中的应用](https://img2024.cnblogs.com/blog/2277440/202410/2277440-20241010174244252-1698671511.png)
Python实现多维傅里叶变换
摘要:
继前一篇文章中的一维傅里叶变换,本文介绍了多维傅里叶变换的物理图像和基本原理,并附带了Python简单实现。并将Python的计算结果与Numpy中已经实现的二维傅里叶变换的结果进行对比。
![Python实现多维傅里叶变换](https://img2024.cnblogs.com/blog/2277440/202409/2277440-20240926110404391-907881086.png)
Python计算傅里叶变换
摘要:
本文介绍了离散傅里叶变换和快速傅里叶变换的基本原理及其对应的Python代码实现,并将计算结果与numpy所集成的fft函数进行对比。其实现在FFT计算的成熟工具已经有很多了,不论是CPU上scipy的fft模块还是GPU上的cufft动态链接库,都有非常好的性能。但还是得真正去了解计算背后的原理,和相关的物理图像,才能更恰当的使用这个强大的工具。
![Python计算傅里叶变换](https://img2024.cnblogs.com/blog/2277440/202409/2277440-20240925145007056-681285101.png)
Edge浏览器设置夜间模式/深色模式
摘要:
本文给出了一个在Edge浏览器中配置深色背景的方案(参考文章中的进阶方案已经失效)。不仅可以使得浏览器的边框变成深色的,也可以改变网页显示时的颜色。
![Edge浏览器设置夜间模式/深色模式](https://img2024.cnblogs.com/blog/2277440/202409/2277440-20240912151003649-1723428245.png)