02
Architektur- und Umgebungsprüfung
Apple Silicon Mac installieren: conda oder Quellcode?
Für ein neues Forschungsprojekt ist eine native Conda-Umgebung normalerweise der risikoärmere Einstieg. Sie trennt OpenMM, Python und die projektspezifischen Pakete vom übrigen System. Eine Quellcode-Kompilierung ist sinnvoll, wenn ein eigener Patch, eine nicht standardmäßige Build-Konfiguration oder eine gezielte Entwicklerarbeit erforderlich ist. Sie sollte nicht die erste Reaktion auf einen unklaren Importfehler sein.
OpenMM beschreibt sowohl die Installation und Nutzung als auch das Bauen aus dem Quellcode in den offiziellen Kompilierungsanweisungen. Daraus folgt eine klare Reihenfolge: erst die unterstützte Binärinstallation in einer sauberen Umgebung prüfen, danach nur bei begründetem Bedarf selbst kompilieren.
Führen Sie die Prüfung in einem neuen Terminal durch:
uname -m
which python
python -c "import platform; print(platform.machine())"
python -m pip --version
conda info
Bei einem nativen Apple-Silicon-Aufbau muss die gemeldete Architektur zur gewählten Python- und Conda-Umgebung passen. Wenn an einer Stelle x86_64 und an einer anderen arm64 erscheint, ist die Umgebung nicht automatisch unbrauchbar, aber sie ist erklärungsbedürftig. Rosetta, ein Terminal mit falscher Architektur oder ein gemischter Paketpfad kann dazu führen, dass ein Import gelingt, während ein Plugin oder eine Plattform später nicht geladen wird.
Erstellen Sie anschließend eine isolierte Umgebung und dokumentieren Sie jeden Befehl:
conda create -n openmm85-arm64 python
conda activate openmm85-arm64
conda install -c conda-forge openmm
python -c "import openmm; print(openmm.__version__)"
Die konkrete Paketauflösung kann sich mit dem verfügbaren Repository-Stand verändern. Deshalb sollte die Umgebung nicht nur über den Namen, sondern über eine exportierte Datei übergeben werden:
conda env export --no-builds > environment.yml
Wenn die Auflösung nicht die erwartete OpenMM-Version ergibt, stoppen Sie an dieser Stelle. Installieren Sie nicht zusätzlich Pakete in dieselbe Umgebung, nur um einen Fehler zu verdecken. Prüfen Sie stattdessen die Release-Information und erstellen Sie eine neue Umgebung mit einer dokumentierten Versionsbindung.
Drei verschiedene Erfolgsstufen
Ein häufiger Fehler in Forschungsgruppen ist die Gleichsetzung von drei Prüfungen:
- Modulimport:
import openmm funktioniert.
- Plattformerkennung: OpenMM kann verfügbare Plattformen auflisten.
- Wissenschaftlicher Lauf: Ein minimales System kann erstellt, integriert, gespeichert und erneut ausgeführt werden.
Die offizielle Anleitung zum Testen einer OpenMM-Installation enthält den vorgesehenen Testpfad. Führen Sie den offiziellen Test in der aktivierten Umgebung aus und speichern Sie die Ausgabe. Ein erfolgreicher Test bestätigt die Basisinstallation, aber nicht automatisch jedes externe Kraftfeld und nicht die Anforderungen Ihres Forschungsprojekts.
Zusätzlich können Sie die Plattformen mit einem kleinen Python-Skript sichtbar machen:
import openmm
for index in range(openmm.Platform.getNumPlatforms()):
platform = openmm.Platform.getPlatform(index)
print(index, platform.getName())
Die Ausgabe muss zur tatsächlich installierten Umgebung passen. Schreiben Sie den Namen einer erwarteten Plattform nicht manuell in ein Skript, ohne zuerst zu prüfen, ob sie enumeriert wird.
Wichtiger Prüfpunkt: Eine vorhandene Plattform ist nur ein verfügbarer Ausführungspfad. Sie beweist weder, dass ein konkretes Simulationssystem diese Plattform nutzt, noch dass die Ergebnisse für eine Publikation oder einen Produktionslauf freigegeben werden können.