Hirdetés
- Yettel topik
- Vivo X300 Pro – messzebbre lát, mint ameddig bírja
- Bemutatkozott a Poco X7 és X7 Pro
- Xiaomi 15T - reakció nélkül nincs egyensúly
- Redmi Note 14 5G - jól sikerült az alapmodell
- Olyan menő, hogy Google nélkül is elfogadnád
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- Xiaomi 13T és 13T Pro - nincs tétlenkedés
- Alumíniumba öltözött a Nothing Phone (4a) Pro
- Apple Watch Sport - ez is csak egy okosóra
Új hozzászólás Aktív témák
-
Jester01
veterán
válasz
#25954560
#250
üzenetére
1. Igen, alapvetően jobb az operációs rendszerre hagyni a magok kezelését, de bele lehet szólni.
2. Ha nem tudsz dinamikusan szétosztani tetszőleges szálra, akkor írd meg 8ra, igen.
3. Nem értem mit akarsz a memóriaterülteteken optimalizálni. Lehet, hogy csak nem ismerem ezt a technikát.
-
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!
- ThinkPad P15 Gen1 15.6" FHD IPS i9-10885H RTX 5000 32GB 512GB NVMe ujjolv IR kam gar
- Asztali PC , R5 3600 , RX 6600 , 16GB DDR4 , 512GB NVME
- HP Victus Ryzen 7 8845HS /16GB DDR5 RTX 4060 / 1TB / 144Hz
- IPhone 17 Pro max 256GB gyári független bontatlan 1 év Apple jótállás
- Apple Pencil Pro hibátlan 2027.10.28.Alza jótállás
- Apple iPad 9 64GB,Átlagos,Adatkabel,12 hónap garanciával
- MEDION ERAZER Cooling Kit V2 Vízhűtés - MD 62737 Beast 16 X1, 18 X1 gamer laptopokhoz
- Retro PCI-E videókártyák
- 27% - Philips Evnia 27M2N3200S IPS Monitor! 1920x1080 / 180Hz / 0.5ms / FreeSync
- HP 150W töltők (19.5V 7.7A) kis kék, kerek, 4.5x3.0mm
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest


