Hirdetés
- iPhone topik
- Fotók, videók mobillal
- Google Pixel topik
- Samsung Galaxy Watch6 Classic - tekerd!
- Örömhír: nem spórol Európán a OnePlus
- Megtartotta Európában a 7500 mAh-t az Oppo
- Samsung Galaxy A54 - türelemjáték
- Xiaomi 14 - párátlanul jó lehetne
- Honor 200 Pro - mobilportré
- A Rejoy hátterével vág bele a Yettel a használt telefonos üzletbe
Ú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!
- BRUTÁL Dell Precision 7560 Tervező Vágó Laptop -70% 15,6 i9-11950H 64/1TB NVIDIA A5000 16GB 2 Millió
- ÚJ! BONTATLAN! Ipad Mini 6 Wifi + Cellular 256GB(független)
- Pioneer DDJ-400 DJ kontroller
- DELL Precision 3580 Tervező Vágó Laptop -50% i7-1360P 16/512 FHD RTX A500 4GB FHD
- Olympus Pen-F + 3db Objektív + Rengeteg Extra
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max/
- GYÖNYÖRŰ iPhone 12 Mini 128GB Blue-1 ÉV GARANCIA - Kártyafüggetlen, MS3852, 100% Akkumulátor
- Garmin USB ANT Stick jeladó eladó
- Bomba ár! Lenovo ThinkPad L530 - i5-3G I 8GB I 500GB +16SSD I 15,6" HD+ I Cam I W10 I Garancia!
- Lenovo Thinkcentre M920t Tower/ M720s / M920s SFF / i5-8-9. gen/ WIN10-11/számla, garancia
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest


