Pomoc – FAQ


Original: http://trilinos.sandia.gov/packages/pytrilinos/faq.html
Copyright: Sandia National Laboratories

Ogólne pytania

  • Co PyTrilinos
  • jakie pakiety trilinos mieć Pythona interfejsu
  • Jak korzystać PyTrilinos
  • Kiedy się owinąć pakiet X
  • Z kim należy się skontaktować, jeśli mam więcej pytań na ten temat

Warunki

  • Jakie są warunki niezbędne do PyTrilinos
  • Jakie są ewentualne warunki PyTrilinos

Konfiguracji

  • Jak skonfigurować trilinos tworząc PyTrilinos pakietów Pythona

Formowanie i PyTrilinos instalacji

  • dostaję błąd kompilacji, które podpowiada mi, że moje BLAS i LAPACK biblioteki z-fPIC wybór musi być kompilowany. Co się dzieje potem?
  • mam dużo błędów kompilacji, począwszy od wiadomości Teuchos_any.hpp nie był mecz dla operatora <<. Co to jest problem?
  • Jeśli pakiety Pythona są budowane dla NOX, istnieje połączenie z bardzo długiej listy do picia, którego do nich pliki, które umiera bez komunikatu o błędzie. Jak można rozwiązać ten problem?
    • Jak zainstalować PyTrilinos

NumPy i numeryczne pytania

  • zainstalowałem numpy, ale skrypt configure mówi brakuje numpy.lib do wymaganego modułu. Aby znaleźć tablicę rówieśników. Dlaczego?
  • zainstalowałem numpy, ale skrypt configure mówi numpy / arrayobject.h. nie znaleziono. Dlaczego?

SWIG – pytania

  • zainstalowałem starszą wersję DRAM. Czy naprawdę trzeba nowszej wersji
  • Kiedy próbuję zainstalować

  • łyk, otrzymuję wiele błędów, gdy uruchomię go sprawdzać. Czy to jest problem?

MPI – pytania

    Jak skonfigurować PyTrilinos

  • ze wsparciem MPI
  • Jak korzystać PyTrilinos

  • ze wsparciem MPI

Pytania ogólne

  • Co PyTrilinos

PyTrilinos

to zestaw Pythona opakowań dla wybranych pakietów trilinos. To pozwala programistom Pythona dynamicznie dostęp do klas trilinos z skrypt Pythona lub z linii poleceń interpretera Pythona.

Co trilinos pakiety mają interfejsy Python

Obecnie lista modułów PyTrilinos składa się z:

  • Amesos
  • Anasazi
  • AztecOO
  • Epetra
  • EpetraExt
  • Galeri
  • IFPACK
  • skomplikowane
  • LOCA (wyłączona w wersji 10/07 i gałęzi rozwojowej)
  • ML
  • NOX (w tej kwestii ponownie wykonany lekki 8)
  • Pliris
  • Teuchos
  • Thyra (gałąź rozwojowa tylko)
  • TriUtils

Jak używać PyTrilinos

PyTrilinos

jest zainstalowany poprawnie, to powinieneś być w stanie importować modułu np. PyTrilinos Epetra ze stwierdzeniem Python

importować z

 PyTrilinos Epetra

Następnie można użyć (Epetra), aby uzyskać listę klas i funkcji w Epetra namespace Yu, lub pomocy (Epetra), aby dostać się z dokumentacją Epetra. Począwszy od wersji 7.0,

Import z

 PyTrilinos *

należy zaimportować wszystkie moduły PyTrilinos.

Kiedy będzie einzuwinckeln pakiet X

Jeśli masz ochotę zobaczyć specjalny owinięty pakiet e-mail do href=”mailto:wfspotz@sandia.gov”> <a Developer Lead PyTrilinos , aby pomóc nam priorytety, które opakowania powinny być owinięte obok.

NOX została reaktywowana niedawno ponownie, Anasazi dostał funkcjonujący interfejs Pythona i Pliris i złożone zostały dodane. Nasze aktualne priorytety, LOCA wiederzuermöglichen i zapewniają pracę dla opakowań Thyra są dostępne.

Z kim należy się skontaktować, jeśli mam więcej pytań na ten temat

pytania, które nie zostały odebrane przez informacji umieszczonych na stronie internetowej powinny być kierowane do <a href=”mailto:wfspotz@sandia.gov”> Developer Lead PyTrilinos</a> .

warunki

Jakie są warunki niezbędne do PyTrilinos

PyTrilinos

wymaga:

  1. zainstalowana wersja Python Wersja 2.3 lub wyższa. Niektóre pakiety wymagają Boolean eingeführtet typu w wersji 2.3 Pythona, który jest warunkiem wstępnym dla całego pakietu. Realease 8,0 a gałąź rozwoju PyTrilinos zostały przewiezione, w Pythonie 2.6 jest kompatybilne.
  2. NumPy moduł , sąsiednie pola udostępnia dla wersji 7.0 i wyższej, a gałąź rozwojowa jest wymagane. We wcześniejszych wersjach, numeryczna jest wymagane.
  3. , Simple Generator Interfejs Wrapper, wersja 1.3.39 lub nowszy, jest używany do tworzenia otoki.
  4. Wszystkie

  5. wstępne trilinos, jak BLAS i LAPACK są również wymagane.

Jakie są warunki wstępne dla opcjonalnych PyTrilinos

PyTrilinos

można użyć następującej opcji:

  1. MPI. Jeśli trilinos jest skonfigurowany do korzystania z MPI, interfejs PyTrilinos jest skonfigurowany do użycia jako MPI.
  2. Expat

  3. , biblioteka parsowania XML opcjonalnych Teuchos używane.
  4. HDF5, format obsługiwany przez opcjonalną EpetraExt.
  5. Amesos pakiet może być skonfigurowane do obsługi różnorodnych zewnętrznych bibliotek solver, które są obsługiwane przez moduł PyTrilinos.Amesos:
    • KLU
    • UMFPACK
    • ScaLAPACK
    • SuperLU
    • SuperLUDist
    • TAUCS
    • PARDISO
    • DSCPACK
    • świnka

konfiguracji

Jak skonfigurować trilinos zbudować otoki PyTrilinos Python

Wydanie 10,0 i gałąź rozwojowa uruchomienia z cmake

OPCJE-D Trilinos_ENABLE_PyTrilions: BOOL = ON i D-BUILD_SHARED_LIBS: BOOL = ON. Aby zapewnić, że wszystkie pakiety PyTrilinos / moduły są aktywne,-D Trilinos_ENABLE_ALL_OPTIONAL_PACKAGES: BOOL = ON.
Wydanie 8,0 lub 9,0: configure Zezwól PyTrilinos konfigurując trilinos z-enable-pytrilinos wyboru. Jeśli chcesz wybrać konkretny Pythona, użyj-with-python = path

Python wrapper pozwalają na każdym pakiecie, który jest zarówno aktywna i obsługuje również interfejs Pythona. Jeśli chcesz, aby Python interfejs pakietu ermöglichtem bezużyteczny, możesz – używaj disable-pytrilinos-pakiet, gdzie pakiet otrzymuje nazwę trilinos pakietu.
ML

jest aktywowany jako domyślny, a następnie trzeba przedstawić – aktywować amesos także PyTrilinos skompilować poprawnie. Można również wyłączyć ml, jeśli tak zdecydujesz.

Wydanie 6,0 lub 7,0: Konfiguracja trilinos z – enable-python [= ścieżka] lub-with-python [= path]. Te opcje konfiguracyjne spust rozwój i kompilacja kodu otoki w poszczególnych pakietach, a nie domagać się wolno żadnego specjalnego pakietu.

Możliwe jest również, aby umożliwić Python wrapper dla konkretnych trilinos paczek lub wyłączyć, należy włączyć-pakiet-python lub python-wyłączyć-pakiet, gdzie pakiet jest zastąpione nazwą pakietu.

Realease 5,0: Upewnij się, że możesz zbudować wersję produkcyjną i use-enable-pytrillinos flagę. Musisz epetra również epetraext i nox nox epetra aktywować. Jeśli są,, make-install “wykonać Pythona moduły instalowane są w katalogu w którym Python zainstalowanym na komputerze można je znaleźć.

określić, czy trzeba, gdzie można znaleźć haust, configure-with-swig = ścieżka

Jeżeli wy PyTrilinos

w miejscu niestandardowym zainstalować, sprawdzić-prefix = opcja konfiguracji PREFIX, gdzie zarówno trilinos i PyTrilinos zainstalowana.

formowanie i PyTrilinos instalacji

trilinos 9.0 i wcześniejszych:

dostaję błąd kompilacji, który mówi do mnie, że moje BLAS i LAPACK (lub innych firm), biblioteka z -fPIC wybór musi być skompilowane. Co się dzieje potem?

PIC

oznacza stanowisko niezależnego kodu i jest warunkiem niezbędnym dla bibliotek współdzielonych. Twój trzeci biblioteki muszą być powiązane z wybór ten opracowany i podzielony tak (można zauważyć, że niektóre systemy operacyjne, takie jak Mac OS X – to właśnie oczy rozwoju tworzyć kod niezależny od pozycji domyślnie, a nie ten problem). ” / p>
Starsze wersje PyTrilinos

wymaga żadnych bibliotek współdzielonych, ale działa dobrze albo. Trilinos Wydanie 7.0 wymaga, aby trilinos współdzielone biblioteki wsparcia MPI. Wydanie 8,0 a gałąź rozwoju wymagają również biblioteki współdzielone dla trilinos serii.

trilinos

nie jest jego biblioteki, jako zwolnione. Pakiet PyTrilinos spadnie, a wszystkie biblioteki trilinos ponownie podłączyć wydany. To tak jak w procesie ad-hoc i jest obecnie obsługiwane tylko dla systemów Linux i Mac OS X. Oznacza to, że podczas kompilacji na systemie Linux lub Mac OS X, trzeba swój trzeci biblioteki partii zostaną rozdzielone.

mam dużo błędów kompilacji, zacznij wiadomości Teuchos_any.hpp nie pasuje do operator << ma. Gdzie Problem jest, bo

powszechny problem związany z Pythona interfejsu ML. Jeśli ML jest włączona (jest to ustawienie domyślne), należy również włączyć Amesos (-enable-amesos) kiedy go skonfigurować. Jeśli nie chcesz lub potrzebujesz ml, to możesz go (-disable-ml) w postaci klarownego alternatywy.

Jeśli obwolut Python są budowane dla NOx, jest wezwanie do swig z bardzo długiej listy zawierają pliki, które umiera bez komunikatu o błędzie. W jaki sposób można to naprawić?

problemem jest to, że lista plików include ma wiele duplikatów, i lista jest bardzo długa może być traktowana dla łyk. Te kopie zostały usunięte, jeśli używasz GNU make i konfigurować-z-gnumake.

Jak należy zainstalować PyTrilinos

polecenie make-install, wykonywane przez głównym katalogu build zainstaluje PyTrilinos. Z aktywowanego pakietu build, który będzie zainstalować niestandardowe PyTrilinos modułu. Jeśli używane-prefix = opcję konfiguracji prefiks, upewnij się, że twój PREFIX w PYTHONPATH zmiennej środowiskowej jest zlokalizowany PREFIX / lib w zmiennej środowiskowej LD_LIBRARY_PATH (DYLD_LIBRARY_PATH na Mac OS X) istnieje.

NumPy i numeryczne pytania

zainstalowałem numpy, ale skrypt configure mówi

Smarter znaleźć

wymagany moduł numpy.lib.UserArray

Dlaczego

Moduł numpy.lib.UserArray

została dodana w wersji 0.9.6 numpy, jest to wskazówka, że ​​twój moduł numpy jest zbyt stara. Zobacz stronę domową NumPy. To było, kiedy ostatnio ustalono, i wskazuje, że masz nieaktualne PyTrilinos wersji.

zainstalowałem numpy, ale skrypt configure mówi

nie numpy / arrayobject.h znaleziono

Dlaczego

NumPy

jest zainstalowany w miejscu tzw niestandardowych. Przed trilinos prawach 7,0, PyTrilinos nie wiem jak go znaleźć na przenośny sposób. To nie powinno się zdarzyć, po wydaniu 7.0.

wcześniejszych wersjach gałęzi rozwojowej, poszukaj w PREFIX/lib/python2.x/site-packages/numpy/core/include gdzie PREFIX jest gdzie Python jest zainstalowany, a x jest Python wersja pomocnicza. I używany do tworzenia linku symbolicznego z miejsca, które redaktor znajdzie ten katalog. Należy to zrobić tylko w starej kopii gałęzi rozwojowej, więc należy tylko upewnić się, że masz zaktualizowaną wersję.

SWIG – Pytania

zainstalowałem starszą wersję Swigs. Czy naprawdę trzeba nowszej wersji

Tak. SWIG (Simple Generator Interfejs Wrapper) jest maszyna, która generuje większość kodów PyTrilinos. Wersja 3.1.39 traktowane zagnieżdżone pakiety i podpakietów wymagane dla PyTrilinos.

Kiedy próbuję zainstalować haust, dostaję dużo płaci błąd podczas uruchamiania ‘make check’. Czy to jest problem?

Prawdopodobnie nie. PyTrilinos dba tylko że Swig jest w stanie wygenerować kod Pythona, żaden z innych języków obsługiwanych przez łyk. Spróbuj:

 $ make check-python-przykłady
 $ make check-python-test-suite

Nawet z tych kontroli, niektóre błędy są prawdopodobnie nie problem.

MPI – Pytania

Jak skonfigurować PyTrilinos ze wsparciem MPI

Jeśli skonfigurujesz trilinos

MPI wsparcia, a następnie PyTrilinos moduły wykorzystywane w obu seriach i równolegle (MPI Wykorzystując). W równoległych PyTrilinos wymaga standard, out-of-the-box interpreter Pythona. Zauważ jak MPI wsparcie PyTrilinos wymaga biblioteki współdzielone dla Blas, LAPACK i MPI. Obecnie PyTrilinos była równolegle z OpenMPI i LAM / MPI tylko przetestowane pomyślnie. Znane są problemy z wykorzystaniem MPICH mpirun.

trilinos

zwalnia przed 7.0, może trzeba bibliotek oprogramowania dla skonfigurowanych pakietów trilinos (wersja release 7.0, to automatyczne utworzenie biblioteki współdzielone). Na Linux / GCC można przejść na tak. Podjęcie trilinos / LINUX_MPI jest katalog instalacji dla trilinos zrobić:

 trilinos $ cd / LINUX_MPI
 $
 $ make
 $ make install
 $ .. / packages / PyTrilinos / make_shared_linux.sh

ostatnia książka zawiera podstawowe komendy do tworzenia bibliotek dzielonych pod Linux / GCC. Następnie należy ustawić LD_LIBRARY_PATH poprawnie, na przykład, pod cyną:

 $ export LD_LIBRARY_PATH = $ LD_LIBRARY_PATH: $ {HOME} / trilinos / LINUX_MPI / lib

Jest podobny proces dla Mac OS X, który posiada skrypt, a zastosowanie zmienna jest DYLD_LIBRARY_PATH.

Jak korzystać PyTrilinos ze wsparciem MPI

PyTrilinos

jest skonfigurowany przy pomocy MPI, a następnie zaimportować moduł Epetra automatycznie MPI_Init () jest wywoływana, i zorganizować MPI_Finalize () do wywołania kiedy skrypt ma. Należy to zrobić w bezpieczny sposób, który sprawdza, że ​​jest to legalne wywołać dowolną z tych procedur. Na przykład, jeśli już MPI_Init () poprzez, powiedzmy, że przedłożony mpi4py importować Epetra wtedy, nie powinien podnosić błędu.

pisma

musi używać komunikatora Epetra. W ciągu Pythonie zaleca komunikatora Epetra.PyComm, zwraca Epetra_MpiComm kiedy PyTrilinos jest skompilowany ze wsparciem MPI i Epetra_SerialComm inaczej. Pisanie, oczywiście, musi być napisana w “równoległym” paradygmacie, który korzysta z komunikatora do tłumaczenia pomiędzy globalnymi i lokalnymi wartościami ID.

Uruchom skrypt normalnie, zazwyczaj poprzedzone przez skrypt uruchomiony ze wspólnym kierownika MPI operacji:

 $ mpirun-np 4 python myScript.py

PyTrilinos

jest zainstalowany poprawnie, to powinno działać. Jednakże, jeśli biblioteki są miejscem trilinos w niestandardowych, a następnie trzeba będzie określić, ustawiając zmienną systemową LD_LIBRARY_PATH z (Linux) lub DYLD_LIBRARY_PATH (Mac OS X) oraz wywozu tych zmiennych:

 $ mpirun-np 4-x LD_LIBRARY_PATH python myScript.py

Pomyślnie przeprowadzono ipython moduł ipython1 interaktywnie sterowanie wieloma procesorami, import równoległy jest modułów PyTrilinos i mają trilinos dystrybuowane obiekty utworzone i manipulować. Usiąść z href=”mailto:wfspotz@sandia.gov”> <a Developer Lead PyTrilinos w kontakcie, jeśli masz jakiekolwiek pytania dotyczące tego, czy są zainteresowani taką zdolność.