03
第二個問題:匯入成功,不代表平台和 GPU 已經生效
安裝驗收應分成三層,順序不能倒置。
第一層是模組匯入。 使用官方提供的 testInstallation 流程,確認 OpenMM 本體、Python 綁定和基本測試可通過:
python -m openmm.testInstallation
具體輸出以安裝版本和平台為準,通過這一步只代表基礎安裝可工作。
第二層是平台枚舉。 在同一個已啟用的 conda 環境中列出可用 Platform:
python - <<'PY'
import openmm
from openmm import Platform
print("OpenMM:", openmm.version.version)
for index in range(Platform.getNumPlatforms()):
platform = Platform.getPlatform(index)
print(index, platform.getName())
PY
第三層是真實任務。 將課題使用的 PDB 或 mmCIF、力場檔案、Integrator 和輸出流程放入最小案例,完成能量計算與短程步進,再檢查輸出是否完整。這一步才可以回答「研究流程能不能跑」,而不是只回答「套件有沒有裝上」。
OpenMM 在 Mac 上怎樣確認平台和 GPU 是否生效?
先看 Platform.getName() 是否列出預期平台,再在最小模擬建立 Context,明確指定平台或輸出實際選用的平台名稱。不要把 Apple 系統提供的 OpenCL 能力直接寫成統一的 GPU 效能承諾;Apple 官方仍將 OpenCL 視為既有技術文件與開發介面,相關限制應參考Apple 的 OpenCL 文件。
目前沒有足夠依據把 Metal 後端寫成 OpenMM 的正式通用支援。社群中的 Metal 開發提案或實驗性嘗試,必須與官方可用平台分開記錄,不能用來作為課題交付承諾。