摘要: PCA主成分分析的Python实现 接上一篇文章介绍的矩阵特征分解,本文介绍了矩阵特征分解在主成分分析(PCA)算法中的应用。对于PCA算法,最直观的理解就是,在高维数据中找到一个低维的空间,使得所有的数据点投影到该低维空间之后尽可能的分离。 阅读全文
posted @ 2024-12-06 11:12 DECHIN 阅读(348) 评论(0) 推荐(0) 编辑
摘要: Numpy本征值求解 本文介绍了一下使用Numpy计算矩阵的特征值求解和特征值分解问题。Numpy的eig特征求解函数可以直接输出给定矩阵所有的特征值,和对应的所有特征列向量所构成的矩阵。再使用Numpy的矩阵求逆函数,即可得到相关矩阵的EVD特征值分解。 阅读全文
posted @ 2024-12-04 10:51 DECHIN 阅读(234) 评论(0) 推荐(0) 编辑
摘要: CudaSPONGE之Python接口 本文介绍了高性能GPU分子动力学模拟软件CudaSPONGE的Python API接口,通过官方开发的prips插件,使得我们可以在Python框架下很方便的开发一些分子动力学模拟的Force Wrapper,例如Meta Dynamics中就有很多可以外界的工具,非常方便开发者的二次开发,同时又能够兼顾到性能。 阅读全文
posted @ 2024-11-28 11:06 DECHIN 阅读(71) 评论(0) 推荐(0) 编辑
摘要: CudaSPONGE高性能GPU分子模拟 本文简单介绍了一下CudaSPONGE高性能分子动力学模拟软件,其基于原生的CUDA C开发,具有极高的模拟效率。结合前处理工具Xponge用于生成和处理输入文件,可以很好的兼容目前常用的很多力场形式。 阅读全文
posted @ 2024-11-27 16:10 DECHIN 阅读(113) 评论(0) 推荐(0) 编辑
摘要: Jax Jit模式下的Array输出 本文仅介绍一个可以在Jax的Jit即时编译模式下,也能够正常通过print打印函数来输出Jax Array内容的方法。 阅读全文
posted @ 2024-11-26 17:01 DECHIN 阅读(21) 评论(0) 推荐(0) 编辑
摘要: PySAGES实记 本文主要介绍了增强采样外接软件PySAGES的基本安装和使用方法,重点是安装过程中没有写清楚的一些环境依赖和可能出现的问题介绍,以及相应的解决方案。并简单的梳理了一下PySAGES软件的工作流机制,其能够做到Zero Copy,并使得Enhanced Sampling不再成为很多模拟的Bottleneck,这是一个相当出色的结果。 阅读全文
posted @ 2024-11-26 14:55 DECHIN 阅读(85) 评论(0) 推荐(0) 编辑
摘要: OpenMM的安装与使用 本文介绍了AlphaFold2中所使用到的开源分子动力学模拟软件OpenMM的安装和基础使用方法,其中包含了pdbfixer蛋白质构象文件修复工具的介绍和一个真空蛋白体系的能量极小化示例,并且提供了一些有可能在OpenMM的安装和使用过程中遇到的问题和解决方法。 阅读全文
posted @ 2024-11-22 15:44 DECHIN 阅读(374) 评论(0) 推荐(0) 编辑
摘要: Jax中关于NonZero的使用 在使用Jax的过程中,有时候会遇到函数输出是一个动态的Shape,这种情况下我们很难利用到Jax的即时编译的功能,不能使得性能最大化。这也是使用Tensor数据结构来计算的一个特点,有好有坏。本文介绍了Jax的另外一个函数NonZero,可以使得我们能够编译那些动态Shape输出的函数。 阅读全文
posted @ 2024-11-21 11:15 DECHIN 阅读(67) 评论(0) 推荐(0) 编辑
摘要: Conda环境Git Pull报错 本文总结了一个在conda环境下使用git pull出现报错:symbol lookup error: /lib/x86_64-linux-gnu/libp11-kit.so.0: undefined symbol: ffi_type_pointer的问题。通过建立软链接到版本更新的系统环境下的动态链接库中,即可解决该问题。 阅读全文
posted @ 2024-11-19 15:15 DECHIN 阅读(21) 评论(0) 推荐(0) 编辑
摘要: MindSpore-2.4版本中的一些新特性 接上一篇对于MindSpore-2.4-gpu版本的安装介绍,本文主要介绍一些MindSpore-2.4版本中的新特性,例如使用hal对设备和流进行管理,进而支持Stream流计算。另外还有类似于Jax中的fori_loop方法,MindSpore最新版本中也支持了ForiLoop循环体,使得循环的执行更加高效,也是端到端自动微分的强大利器之一。 阅读全文
posted @ 2024-11-19 10:59 DECHIN 阅读(86) 评论(0) 推荐(0) 编辑
摘要: 解决MindSpore-2.4-GPU版本的安装问题 本文介绍了在Ubuntu-20.04系统下安装最新的MindSpore-2.4-for-GPU版本的方法,以及安装过程中有可能出现的一些问题。虽然在MindSpore的正式版本中已经不再支持GPU硬件后端,但是开发版本目前还是持续在支持的,并且其中包含了2.3和2.4版本的新特性,只是算子层面没有更新和优化。对于GPU后端的MindSpore用户来说,也算是一个好消息。 阅读全文
posted @ 2024-11-18 10:35 DECHIN 阅读(276) 评论(0) 推荐(1) 编辑
摘要: Git推送报错Authentication failed 在某一次的Git推送中出现了一个奇怪的报错Authentication failed,经过一番测试有可能是VSCode的Git插件所导致的问题,本文提供了一个在VSCode的Terminal中可以正常push的解决方案。 阅读全文
posted @ 2024-11-08 09:23 DECHIN 阅读(43) 评论(0) 推荐(0) 编辑
摘要: Jax中关于Device ID的配置 本文主要介绍了2个在Jax框架中配置显卡Device ID的方法。第一种方法可以使用环境变量进行配置,对于众多的深度学习框架都是可以兼容的。而第二种方案是在Jax即时编译的过程中通过Jax生成的Device对象来控制数据的传输和函数执行的Device ID。 阅读全文
posted @ 2024-11-05 16:47 DECHIN 阅读(27) 评论(0) 推荐(0) 编辑
摘要: MindSponge分子动力学模拟——增强采样(2024.11) 本文介绍了在MindSponge中进行分子动力学模拟以及增强采样的实现方法。通过使用MetaDynamics增强采样算法,我们可以将分子模拟的采样子空间,从某个能量极小值区域,扩大到尽可能大的采样子空间。 阅读全文
posted @ 2024-11-01 15:17 DECHIN 阅读(190) 评论(0) 推荐(0) 编辑
摘要: PME算法简单Python实现 基于前面几篇博客关于PME算法的理论推导,本文给出了一个简单版本的Python代码实现,并且对比了PME算法相比于实空间迭代算法的优越性。从结果上来看,一维的静电势能计算中,PME单步得到的计算结果非常接近于实空间迭代1万个Box的近似结果。 阅读全文
posted @ 2024-10-31 10:52 DECHIN 阅读(172) 评论(0) 推荐(1) 编辑