Hirdetés
- AMD K6-III, és minden ami RETRO - Oldschool tuning
- Milyen egeret válasszak?
- Milyen házat vegyek?
- Azonnali informatikai kérdések órája
- Mini-ITX
- Gaming notebook topik
- AMD Navi Radeon™ RX 9xxx sorozat
- Multimédiás / PC-s hangfalszettek (2.0, 2.1, 5.1)
- OLED TV topic
- Intel Core Ultra 3, Core Ultra 5, Ultra 7, Ultra 9 "Arrow Lake" LGA 1851
Ú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!
- Eladó ZTE MC888A 5G + router LTE Sim kártyás
- Dell Latitude 5450 14" FHD IPS ULTRA 5 135U vPRO 12 Mag 16GB RAM 512GB NVME SSD 2028-ig Gar
- 2x LG 27GP850-B UltraGear / 1-3 ÉV GARANCIA!
- Dell Latitude 5500 i5-8365u / 16gb ddr4 / 500gb m.2 ssd / jó akku / töltő
- Kolink Rocket / Rocket Heavy / Rocket Heavy Vented / Rocket Complex mini / SFF számítógép házak
- Gamer PC-Számítógép! Csere-Beszámítás! I5 14400F / RTX 3060Ti / 32GB DDR5 / 512GB SSD!
- AKCIÓ! DELL Precision 7540 i7-9850H Quadro T2000 16GB 512GB 1 év garancia
- Honor Magic5 Lite 128GB, Kártyafüggetlen, 1 Év Garanciával
- Azonnali készpénzes Intel i5 i7 i9 8xxx 9xxx processzor felvásárlás személyesen / csomagküldés
- LG 48B4 - 48" OLED - 4K 120Hz 1ms - NVIDIA G-Sync - FreeSync Premium - HDMI 2.1 - PS5 és Xbox Ready
Állásajánlatok
Cég: CAMERA-PRO Hungary Kft.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest