Hirdetés
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Honor Magic8 Pro - bevált recept kölcsönvett hozzávalókkal
- Youtube Android alkalmazás alternatívák reklámszűréssel / videók letöltése
- Motorola Edge 50 Ultra - szépen kifaragták
- Google Pixel 10a – évismétlés
- Garmin Venu 4 - a nagy ugrás
- iPhone topik
- Huawei P30 Pro - teletalálat
- Netfone
- Google Pixel topik
Ú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!
- E-roller topik
- OLED TV topic
- Mikrotik routerek
- Diablo IV
- Kész rémálom lesz Linuxot használni jövőre az USA egyes államaiban
- Világrekordot ünnepel az ASRock
- Okos Otthon / Smart Home
- Samsung Galaxy S24 Ultra - ha működik, ne változtass!
- Fejhallgató erősítő és DAC topik
- Mazda topik
- További aktív témák...
- GYÖNYÖRŰ iPhone 13 128GB Red -1 ÉV GARANCIA - Kártyafüggetlen, MS4393, 100% Akkumulátor
- BESZÁMÍTÁS! Asus B365M i5 9400F 16GB DDR4 512GB SSD GTX 1660 Super 6GB Kolink Citadel FSP 500W
- Tablet felvásárlás!! Apple iPad, iPad Mini, iPad Air, iPad Pro
- Owl Labs Owl Bar 4K Videokonferencia Rendszer FRS100
- MSI Crosshair 16 i7-14700HX 14. gen 16gb ddr5 + RTX 4060 (140W) + 240Hz QHD+
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest

