2011-01-14 22 views
6

więc mam kod, który używa dlopen do ładowania bibliotek, i chcę, aby działał na systemie bluegene, ale nie mam bluegene, aby przetestować rzeczy, a ja nigdy nie pracowałem bezpośrednio z jednym. Czy bluegene obsługuje ltdl.h, czy też używa czegoś innego? jeśli tak, to czego używa?Czy systemy Bluegene obsługują ltdl lub inny rodzaj obsługi dlopen()?

+0

Nawet jeśli ma 'dlopen()', musisz wykonać testowanie w czasie wykonywania, aby upewnić się, że twój kod działa zgodnie z oczekiwaniami. –

+0

cóż, są ludzie, którzy mogliby mi przetestować stosunkowo szybko dla mnie, ale nie "siedzę przed jednym", że tak powiem, więc nie mogę po prostu grzebać i próbować rzeczy i sprawdzić, czy biegną . Nie zamierzam po prostu pisać czegoś i wdrażać bez testowania haha ​​ – Sam

+1

@Sam BlueGene/L lub BlueGene/P? Również +1 dla pytania BlueGene. –

Odpowiedz

4

BlueGene/L nie obsługuje dynamicznego łączenia ani ładowania bibliotek. Jest to wyjaśnione w redbook w rozdziale 5.

Chociaż Blue Gene/L korzysta z IBM XL kompilatorów istnieją różnice z odniesieniu do wszystkich innych serwerów IBM. W szczególności w przypadku pSeries Linux modelu programowania IBM niektóre różnic z Linux PPC64 są:

  • Nie stdin
  • Nie asynchroniczne I/O
  • Nie dynamiczne łączenie
  • Brak zapotrzebowania stronicowania/wymiany
  • wirtualna przestrzeń adresowa jest odwzorowany 1-on-1 z pamięci fizycznej
  • Nie tylko do odczytu Memor y
  • Z powodu decyzji projektowej CNK - Nie SIGSEGV piśmie do const char * p

biblioteki dynamiczne są obsługiwane BlueGene/P.

+0

to dokładnie to, co potrzebowałem wiedzieć. Dziękuję Ci! – Sam

+0

W rzeczywistości wygląda na to, że pochodzi z rozdziału 5 połączonego skryptu. –

+0

@Dan dzięki, zaktualizowałem swoją odpowiedź. –