Hatalmas tömbök használata hatalmas programozásban
Néhány elavult fogalma az "óriás"
Megértem, hogy a kutatók jelenleg terabájt információkkal dolgoznak, de csak a Fortran "óriási tömbjéről" beszéltem speciális módszerek alkalmazása nélkül.
Függetlenül a kezdők kérdéseivel a következőket határoztam meg:
1) A fordítás során bekövetkezett hiba éppen azért következett be, mert a memória ki lett osztva, amikor a program "statikusan" indult. Ha dinamikusan választja ki, a program elkezdi működését.
2) A Windows XP 32 bites verziójában korlátozások vannak egy adott program memóriájának lekérésére: 2 GB. Ez elkerülhető, ha használjuk összeállításakor LARGEADDRESSAWARE (vagy amikor össze kell építeni ezt a lehetőséget EXE-fájl). Azt is fel kell kérnie a Windows XP-t, hogy adjon 3 GB-s programokat a / 3GB opció hozzáadásával a boot.ini fájlban.
Az 1. és 2. pontban található megoldások használatával lehetõvé tette a szükséges algoritmusok futtatását.
3) A Windows XP 32 bites és bármely más 32 bites operációs rendszer esetén egyetlen programhoz nem használhat 4 GB-nál több memóriát. Vagyis kiderül, hogy ha a memóriával dolgozik és több mint 3 GB-ot szeretne elosztani, akkor 64 bites operációs rendszerekre és fordítókra kell váltania.
Re: Hatalmas tömbök használata Fortranban
File-alapú tömböket próbáltam végrehajtani, ahol a tömb minden egyes eleme különálló fájl, de semmi sem jött rá.
A gyorsítótár szükségessége befolyásolhatja az algoritmusok kiválasztását is. Például az SLE rendezésének szokásos mátrixokra vonatkozó gradiens módszereit lassabbnak tekintik, mint a háromszögek. De a nagy mátrixoknál könnyebben megvalósíthatók és gyorsabbak lehetnek, mert kevesebb swapra van szüksége.
Re: Hatalmas tömbök használata Fortranban
Természetesen ezeket a funkciókat a mai "szörnyetegszerű" algoritmusomban választottam egy elem elem kiválasztásához :). Mondja meg, hogy találkozott-e olyan kész könyvtárakkal, modulokkal vagy funkciókkal, amelyek végrehajtják ezt Fortran-on?
Re: Hatalmas tömbök használata Fortranban
Találkoztál már olyan kész könyvtárakkal, modulokkal vagy funkciókkal, amelyek ugyanazt a Fortran-ban hajtják végre?
Nem, nem. És nem vagyok biztos benne, hogy léteznek ilyen univerzális könyvtárak. Általában a mátrixok feldolgozására szolgáló programok, amelyek nem illeszkednek a memóriába, nagyon egyediek. A mátrixból származó olvasási műveletek és a mátrixba írás mindig szűk keresztmetszet, és egy adott alkalmazáshoz optimalizálva vannak.
Re: Hatalmas tömbök használata Fortranban
Re: Hatalmas tömbök használata Fortranban
Mondja meg, hogy találkozott-e olyan kész könyvtárakkal, modulokkal vagy funkciókkal, amelyek végrehajtják ezt Fortran-on?
Nos, van ilyen HDF könyvtár. Általánosan univerzális, nagy fájlkészletekkel rendelkező fájlok kezelésére. Ez viszonylag könnyű (bár természetesen szükség van rá), mindenféle hozzáférést sorokhoz, oszlopokhoz, blokkokhoz készítenek.
Re: Hatalmas tömbök használata Fortranban
Köszönjük a HDF információit!
Azt mondja meg, kérem, helyesen megértem, hogy ha fut egy alkalmazás-ban összeállított Compaq Visual Fortran, Windows XP 64bit, hogy fog futni, mint egy 32-bites alkalmazás? A Compaq Visual Fortran nem tudja összeállítani a 64 bites alkalmazást, ahogy ezt megértem?
Ha igen, mondja meg, kérlek, milyen fordítót csinálhat ez?
Re: Hatalmas tömbök használata Fortranban
Ha igen, kérlek, kérlek, milyen fordítót csinálhatsz?
Nem tudok semmit a Compaq-ról, gyanítom, hogy nem támogatja a 64 bitet. Igen, mind a rendszer, mind a fordító támogatja a 64 bitet.
Az Intel Fortran a legjobb. A Windows alatt pénz kerül. Ha nem használ illegális módszereket.
Megpróbálhatod például a gcc-et (ahol van gfortran) innen. Támogatja a 64 bitet.
Re: Hatalmas tömbök használata Fortranban
Ellenőrizni a Windows XP 64bit, minden kiderült, hogy gfortran: most már lehet akár 8 terabájt memória használata :) (persze, ez több, mint egy vicc, mert a normál PC, ez a memória lesz a virtuális és a számítások fog menni egy nagyon hosszú idő, de a döntés elmélet megtalálható, részben pedig a gyakorlatban is használható).
Ki van online
Jelenlévő fórumozók: nincs regisztrált felhasználó
Nem hozhatsz új témákat ebben a fórumban
Nem válaszolhat a fórum témáira
A bejegyzéseid nem szerkeszthetők
Nem tudja törölni a bejegyzéseidet
Nem csatolhat mellékleteket