Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
#25954560
#248
üzenetére
Több magot akkor fog kihasználni, ha több szálon fut. Ahhoz meg az kell, hogy a feladatot lebontsd párhuzamosan végezhető műveletekre, lehetőleg hasonló számításigénnyel. Mindezt ideális esetben tetszőleges számú szálra, például az adatmennyiség n részre osztásával. Általában ehhez szükséges valami extra művelet, ami a részműveletek eredményéből összerakja a végeredményt. Például ha az a feladat, hogy készíts fényességdiagramot egy fényképről, akkor a képet feloszthatod annyi részre ahány mag van és a részekre párhuzamosan végrehajtod a számlálást. Végül pedig összeadod a részeredményeket. Persze ha lehetséges, akkor menet közben is egyből aggregálhatsz, csak akkor figyelni kell a szinkronizálásra. (Amire persze amúgy is figyelni kell). Ha eleve több feladat van (mint például egy web szerver esetén) akkor tipikusan a thread pool architektúrát szokták alkalmazni, amikoris az n (vagy n-1) végrehajtó szál párhuzamosan, de önállóan dolgozza fel a kéréseket. A feladatokat funkcionálisan is szét lehet bontani, csak ekkor nagyobb probléma az egyenlő elosztás illetve a tetszőleges skálázódás. Pl. egy játék esetén lehet dedikált futási szála a rajzolásnak, a hangkezelésnek, a hálózatkezelésnek -- csak ezek ugye közel sem azonos processzorigényűek.
64 bites architektúra általában nem igényel speciális kódot, de persze ki lehet használni az előnyeit a nagyobb címtartománynak. Például ha van sok adatot tartalmazó fájlod amit eddig seek/read módon használtál véletlen elérésre, azt most nyugodtan bemappolhatod (jajj) a memóriába és így majd az operációs rendszer a hardver segítségével meggyorsíthatja a működést.
Ugyanakkor át kell nézni a jelenlegi programot, nem végez-e trükköket (tipikusan pointer -> int -> pointer konverziót) ami nem működik 64 biten.Az x86-64 továbbá nem csak azt jelenti, hogy 64 bites a címtartomány, hanem több regiszter is van. Ezzel viszont c++ esetén elég a fordítónak foglalkozni.
Új hozzászólás Aktív témák
● olvasd el a téma összefoglalót!
● ha kódot szúrsz be, használd a PROGRAMKÓD formázási funkciót!
- Mini-ITX
- Kábel nélkül a Sapphire VGA-val
- AMD Ryzen 9 / 7 / 5 9***(X) "Zen 5" (AM5)
- PlayStation 5
- Samsung Galaxy S23 és S23+ - ami belül van, az számít igazán
- sziku69: Szólánc.
- Milyen asztali (teljes vagy fél-) gépet vegyek?
- sziku69: Fűzzük össze a szavakat :)
- Luck Dragon: Asszociációs játék. :)
- Gumi és felni topik
- További aktív témák...
- AZONNAL KÉSZLETRŐL! AMD Ryzen 7 9800X3D 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5090 32GB GDDR7 1200W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 64GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 32GB 6000MHz RAM 2TB Gen4 SSD RTX 5060 8GB FSP 750W
- AZONNAL KÉSZLETRŐL! Intel Core i5 14600K 32GB 6000MHz RAM 1TB Gen4 SSD RTX 5060 8GB FSP 750W
- BESZÁMÍTÁS! GIGABYTE A520M R5 5500 16GB DDR4 256GB SSD 1TB HDD GTX 1060 6GB Zalman T3 Plus 400W
- ÁRGARANCIA!Épített KomPhone i5 12400F 16/32/64GB RAM RX 9060 XT 8GB GAMER PC termékbeszámítással
- Telefon felváráslás!! Samsung Galaxy S22/Samsung Galaxy S22+/Samsung Galaxy S22 Ultra
- ÁRGARANCIA!Épített KomPhone i5 10400F 16/32/64GB RAM RTX 3050 6GB GAMER PC termékbeszámítással
- www.stylebolt.hu - Apple eszközök és tartozékok!
- ÁRGARANCIA!Épített KomPhone Ryzen 5 5600X 16/32/64GB RAM RTX 5060 8GB GAMER PC termékbeszámítással
Állásajánlatok
Cég: Laptopszaki Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest

