- Telekom mobilszolgáltatások
- Huawei Watch GT 6 és GT 6 Pro duplateszt
- iPhone topik
- Apple iPhone 17 Pro Max – fennsík
- Realme GT Master Edition - mestermunka
- Xiaomi 14T - nem baj, hogy nem Pro
- Apple AirPods Pro (2. generáció) - csiszolt almaságok
- Minden a BlackBerry telefonokról és rendszerről
- Megérkeztek a Xiaomi 15T sorozatának telefonjai Magyarországra
- Így néz ki az újratervezett S Pen
Ú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!
- Thrustmaster Ferrari F1 Wheel Add-On
- Új Apple Watch Ultra 2 Natural Titanium 49mm
- iKing.Hu - Apple iPhone 13 mini Kompakt erőgép, megbízható teljesítmény 256 GB
- Honor Magic V5 Ultravékony hajlítható, 120 Hz LTPO kijelzők 16/512 GB Garancia 2028. 08. 25-ig
- Bomba ár! Acer Aspire ES1 - AMD A8 I 8GB I 180GB SSD I 15,6" HD I HDMI I Cam I W10 I Garancia!
- Telefon felvásárlás!! iPhone 13 Mini/iPhone 13/iPhone 13 Pro/iPhone 13 Pro Max
- LG 34GS95UE - 34" Ívelt OLED / QHD 2K / 240Hz & 0.03ms / 1300 Nits / NVIDIA G-Sync / AMD FreeSync
- Telefon felvásárlás!! Apple Watch Series 9/Apple Watch Ultra/Apple Watch Ultra 2
- Xiaomi Redmi Note 13 256GB Kártyafüggetlen 1 év Garanciával
- Xiaomi Redmi Note 13 Pro+ 512GB, Kártyafüggetlen, 1 Év Garanciával
Állásajánlatok
Cég: Laptopműhely Bt.
Város: Budapest
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest