Ms-mpi - - visual studio - windows HPC szerver - orosz blog fejlesztés HPC
Ez a bejegyzés fog összpontosítani a különböző aspektusait a munkát a legnépszerűbb keretrendszer kialakítása párhuzamos programok - MS-MPI.
Hasonlóképpen, miután említett algoritmus elő a projekt beállítás MPICH2, kivéve más módon könyvtárak és mpiexec. Beállítása a projekt, és párhuzamosan több program nem más, és a 10. változat a Visual Studio.
Ebben a kézikönyvben a számítógép, amelyen összeállításakor és a program futtatásához, egy olyan domain név hnwindows.
1 - Hozzon létre egy C ++ projekt

(Az orosz változata Visual C ++ => General "Empty Project")
Nyissa meg a projekt tulajdonságait.
2 - Változás az értékmezőben alrendszer Linker => Rendszer konzol (/ alrendszer: konzol) (orosz verzió VS: linker => Rendszer => alrendszer)

3 - Hozzáadás a linker (linker) útvonal további könyvtárakat (be kell menni, az Általános fülön az orosz változat VS)

4 - Hozzáadás a linker (linker) további függőségeket. Fit msmpi.libWs2_32.lib. Ebben a programban, további függőség ws2_32.lib ezt a könyvtárat a hálózatépítés, más projektek nem lehetnek érintettek.

5 - Add C ++ fájlt a projekt (ebben az útmutatóban fogjuk használni a Hello World program), a jobb gombbal a projekt neve, Add => egy elemet (az orosz változata a Hozzáadás => Új pont), ahol válasszuk C ++ fájl:
6 - Hívja a projekt tulajdonságait, megjelenik egy új lap C / C ++. Hozzá a fordító utak (Compiler) útvonalát kiegészítő fájlok (az orosz változat: További Include könyvtárak):

7 - Annak érdekében, hogy sikeresen működik a program összetevőit, meg kell fordítani a program összes függőség. Ehhez az értéke „használata MFC” meg kell változtatni, hogy „Use MFC statikus könyvtár.”
8 - Fordítsuk le a programot. Építsd projekt (az orosz változat Építőanyag <имя проекта>).
Szükséges megjegyezni, hogy amennyiben a projekt „megy” nem „az MFC statikus könyvtár” bináris fájl mérete nagyon különböző. Abban az esetben, a program - anélkül, hogy a statikus MFC mintegy 28 kb, és - mintegy 600 kb.
Azt is meg kell jegyezni, hogy ha szükséges, többprocesszoros számítások szerint a „gyűjt» MFC statikus formában nem szükséges - minden szükséges könyvtárak a számítógépen, amelyen a fejlesztés. Abban az esetben, egy fürt fut MFC statikus formában van szükség, mivel a szükséges könyvtárak nem áll rendelkezésre a telek.
Annak érdekében, hogy a program elérhető az összes csomópontot, el kell helyeznie egy bináris fájlt egy könyvtárba, amely elérhető a hálózaton keresztül minden csomópont a fürt.
Kezdve MPI-program különböző módok
mpiexec -n 10 \\ hnwindows \ share \ MyMPIProject.exe

Használata mpiexec program (a teljes listája a okozhatnak mpiexec / help2)
mpiexec [opciók] futtatható [paraméterek] [. [Options] exe [paraméterek]. ]
mpiexec -configfile
-n <количество процессов>
-env <название переменной> <значение переменной>
-wdir <директория, в которой хранятся файлы>
-hosts n host1 [m1] host2 [m2]. hostn [Mn] [számítógépek listáját esetében klaszter szintaxis: -hosts 1 február 12 csomópont-node-node-13 March 14, stb)
-magok <количество ядер, которое нужно задействовать, на каждом процессоре>
Ha sikeres, a felül kell látni a következő felirattal:
Job nyújtottak be. ID: [].
Példák manuális hozzáadásával feladatok:
mpiexec -hosts 1 server1 mester. -n 8 munkás
feladat benyújtja / numcores: 16 mpiexec \\ hnwindows \ share \ MyMPIProject.exe
egy feladat elindításához 16 mag
futtatni egy parametrikus feladat az: 6-12 - tartományban változó értékek 3 - lépés között * - hely helyettesítő értékeket. Ennek megfelelően ez a parancs elindítja a három feladatot:

Üzemeltetési feladatokat a Cluster Manager
Sikeres számítások klaszter megköveteli, hogy a program fájlt, és az összes bemenet áll rendelkezésre az összes csomópontot. Ebben az esetben (és minden más), a legjobb felhasználása fájlok feküdt egy hálózat, amelyben minden csomópont hozzáférés (beleértve főcsomópontja).
Ahhoz, hogy hozzá feladatokat, ki kell használni a konzolt a megfelelő műveleteket, Munkabenyújtás menüben. Attól függően, hogy milyen típusú feladatot, akkor válasszon egy új munkahely, új Single-Task Állás, új parametrikus munkát
Új munka: a párbeszéd megteremtése a feladat, ami lehet több részfeladat. A követelmények terén kiválasztási veszi Munka források: lehet „core”, „socket”, „csomót”. Használja rendelt erőforrásait kizárólag erre a feladatra utal, feladatkezelő, hogy a kiválasztott források által elfoglalt ezt a feladatot kizárólag.

A következő lapon Task List, felelős hozzátéve részfeladatok:

Felveheti Basic Task, parametrikus Feladat Feladat From File.

Parancssor: annak szükségességét, hogy a feladat futtatásához.
Munka könyvtár: Munka könyvtár, amely vonatkozásában meghatározható az abszolút elérési útját a standard input / output / hiba.
Szabványos bemeneti: a bemeneti adatállomány
Szabványos kimenet: a kimeneti fájl
Standard hiba: fájl futásidejű hibákat.
Kattintás után a Submit, amikor tele volt rendesen, a feladat megjelenik az Aktív lapon:

Miután vége a számítások változás feladat állapota vagy helyen:

Mivel a fájl nem lett megadva kimenet, láthatjuk őket, dupla kattintással a tulajdonságok a feladat az alábbi ablak.
Példa paraméteres feladat Start parancsot:

Visual Studio és mpiexec integráció.
Vannak még egy további módja, hogy integrálja a Visual Studio és mpiexec, nem szabványos, de mégis lehetővé teszi, hogy működtesse a klaszter számítások közvetlenül a Visual Studio, anélkül, hogy fut HPC Cluster Manager, mpiexec stb
Tehát az Eszközök almenüben a szakasz Egyéb eszközök (az orosz változat a Tools => Külső eszközök).

Command - az út a megvalósításához szükséges mpiexec MPI. Az az érv nem adja meg az útvonalat, hogy a projekt ($ (TargetPath)), az eredetileg Directory - a könyvtár a projekt.
A további hasznos lehetőségeket kell jegyezni használatra kimeneti ablak - használja konzol kimenetet az eredményeket.
Parancsot: C: \ Program Files \ Microsoft HPC Pack \ Bin \ job.exe
Természetesen ez a példa nem illusztrálja a Külső eszközök konfigurációs beállításokat. Ez az eszköz elég erős, hogy hatékonyan képes megkötni a fejlesztési környezet közvetlenül a klaszter (mellett, lehetőség van elérni egy ilyen konfiguráció, amely egy munkaállomás küldhet feladatokat egy távoli számítási headnode klaszter), és ezt a szempontot kell szentelni a külön bejegyzést.