PME
yordamlarini kullanan ilk örnek olarak asagidaki programi
deneyebilirsiniz:
#include <stdio.h> #include "mpi.h" #include "libpme.h" main( int argc, char *argv[]) { char file[40] ; pMesh mesh ; int mypid ; MPI_Init(&argc,&argv) ; MPI_Comm_rank(MPI_COMM_WORLD,&mypid) ; sprintf(file,"%s.%d.msh",argv[1],mypid) ; mesh = pme_new_msh(MPI_COMM_WORLD,NULL) ; pme_read_msh(mesh,file) ; pme_part_inertia(mesh) ; printf("[%d] %d %d %d %d %d %d %d %d %d %d\n", mypid, pme_num_entity(mesh,PME_VERTEX), pme_num_entity(mesh,PME_EDGE), pme_num_entity(mesh,PME_FACE), pme_num_entity(mesh,PME_REGION), pme_num_pb_entity(mesh,PME_VERTEX), pme_num_pb_entity(mesh,PME_EDGE), pme_num_pb_entity(mesh,PME_FACE), pme_num_gb_entity(mesh,PME_VERTEX), pme_num_gb_entity(mesh,PME_EDGE), pme_num_gb_entity(mesh,PME_FACE)) ; if ( pme_high_entype(mesh) == PME_REGION) pme_off_gb_pb(mesh,"vis") ; else if ( pme_high_entype(mesh) == PME_FACE) pme_off_2d(mesh,"vis") ; MPI_Finalize() ; exit(0) ; }
Bu programi derledikten sonra asagidaki sekilde 4 islemci üzerinde çalistirirsaniz, elde edeceginiz çikti söyledir:
>mpirun -np 4 ornek1 kare [0] 4 5 2 0 3 2 0 3 2 0 [1] 4 5 2 0 3 2 0 3 2 0 [2] 4 5 2 0 3 2 0 3 2 0 [3] 4 5 2 0 3 2 0 3 2 0
Yukarida Sekil 1(a)'daki kare
gridi girdi
olarak programa verilmis, bu grid
4'e parçalanmis ve her islemci üzerinde olan parça grid hakkinda çesitli
bilgiler yazilmistir. Bu bilgiler sirasiyla söyledir: nokta sayisi,
kenar sayisi, yüz sayisi, bölge sayisi, parca sinirinda bulunan
nokta, kenar, yüz sayilari ve geometrik model siniri üzerinde bulunan
nokta, kenar, yüz sayilari.
Ayni programa girdi olarak üç boyutlu uçak (airplane
) gridi
(bak. Sekil 1(b)) verilmek istenirse asagidaki sekilde program
çalistirilabilir:
>mpirun -np 8 ornek1 airplane
Örnek 1 programi varlik sayilarini yazdiktan sonra
vis.off
, vis.0.off
, vis.1.off
, vis.2.off
,
vis.3.off
isimli 5 dosya yaratir. Bu dosyalar GEOMVIEW
(http://www.geomview.org) görsellestirme yazilimi ile görülebilirler.
Sekil 1(a-b)'de elde edilen resimler, GEOMVIEW
kullanilarak
hazirlanmistir.