Année/Mois | version | un événement |
---|---|---|
2010/7 | 0.0.1 | Libération |
2015/1 | 0.12.0 | J'ai quitté GUI! |
2015/4 | 0.13.0 | Version suivante 1.Parce que c'est 0 |
2015/7 | 1.0.0 | J'ai revu le cadre!(Non rétrocompatible) |
2016/7 | 1.7.1 | Libération |
Comme mentionné ci-dessus, les versions 0.13 et antérieures et 1.0.0 et ultérieures sont complètement différentes. Cet article résume l'installation de la version 1.7.1. Voir slideshare here pour installer les versions antérieures à la 0.13.0, bien que ce soit un slapstick.
Il semble que Git (optionnel), Python, Pip, Numpy, Scipy devraient être installés à l'avance (non confirmé). Le document original déclare:
OS | Versions | ||
---|---|---|---|
Mac OS X | Mavericks(10.9.5) | Yosemite(10.10.5) | El Capitan(10.11.x) |
Ubuntu | Trusty Tahr (14.04.2 LTS) | Vivid Vervet (15.04) | Xenial Xerus (16.04 LTS) |
Windows | 7 | 8 | 10 |
Il peut également être installé sur d'autres distributions telles que RHEL et Mint. En fait, j'ai pu l'installer sur CentOS 6.4 sans aucun problème.
packages | versions |
---|---|
Python | 2.7.9 ou plus, 3.4.3 ou plus |
Numpy | 1.9.2 ou plus |
Scipy | 0.15.1 ou plus |
Git(Optional) | - |
Cette fois, nous utiliserons l'environnement Anaconda créé sur Ubuntu 14.04 LTS.
conda create -n py27 python=2.7 anaconda
source activate py27
Si Anaconda est installé dans l'environnement pyenv, Voir les 3 types de solutions de contournement de y_sama pour activer les problèmes de collision lorsque pyenv et anaconda coexistent.
Puisqu'il est enregistré dans PyPI, installez-le avec pip. Ne pas installer avec conda (l'ancienne version (0.13) est enregistrée dans anaconda)
pip install openmdao
Après avoir exécuté ce qui suit, si vous pouvez confirmer l'opération check stdout, c'est OK.
PY27=`which conda`
cp ${PY27:0:-10}/lib/python2.7/site-packages/openmdao/examples/paraboloid_example.py .
python paraboloid_example.py
Contrôle de fonctionnement stdout
##############################################
Setup: Checking root problem for potential issues...
No recorders have been specified, so no data will be saved.
Setup: Check of root problem complete.
##############################################
-15.0
Installé avec conda. MPI de mpi4py de conda utilise MPICH2
conda install mpi4py
conda install -c mutirri petsc4py
Préparez les petsc4py_test.py suivants
petsc4py_test.py
from petsc4py import PETSc
rank = PETSc.COMM_WORLD.getRank()
num_ranks = PETSc.COMM_WORLD.getSize()
x = PETSc.Vec().createMPI(4) # VecCreateMPI: Creates a parallel vector. size=4
x.setValues([0,1,2,3], [10,20,30,40]) # VecSetValues: Inserts or adds values into certain locations of a vector. x[0]=10, x[1]=20, x[2]=30, x[3]=40
print ('Rank',rank,'has this portion of the MPI vector:', x.getArray() ) # VecGetArray: Returns a pointer to a contiguous array that contains this processor's portion of the vector data.
vec_sum = x.sum() # VecSum: Computes the sum of all the components of a vector. 10+20+30+40=100
if rank == 0:
print ('Sum of all elements of vector x is',vec_sum,'and was computed using',num_ranks,'MPI processes.')
Après avoir exécuté ce qui suit, si vous pouvez confirmer le résultat ci-dessous, vous pouvez vérifier le fonctionnement de petsc.
mpirun -np 2 python petsc_test.py
contrôle de fonctionnement petsc
(('Rank', 1, 'has this portion of the MPI vector:',
'Rank', 0, 'has this portion of the MPI vector:',
array([ 10., 20.]))
array([ 30., 40.]))
('Sum of all elements of vector x is',
100.0, 'and was computed using'
Après avoir exécuté ce qui suit, si la fin de log.doe est la suivante, c'est OK. (L'avertissement est envoyé à stdout)
PY27=`which conda`
cp ${PY27:0:-10}/lib/python2.7/site-packages/openmdao/examples/doe_example.py .
mpirun -np 5 python doe_example.py >log.doe
tail -10 log.doe
queue stdout
const.c: 3.0
dut.y: 13304.993403
indep_var.x: 4434.99780099
Timestamp: 1480262524.502128
Iteration Coordinate: rank3:Driver|1
Iteration succeeded: yes
Unknowns:
const.c: 3.0
dut.y: 13266.2297346
indep_var.x: 4422.07657819
Recommended Posts