Keresés

Új hozzászólás Aktív témák

  • vicze

    félisten

    válasz Abu85 #12 üzenetére

    "Androidon is úgy működnek az alkalmazások, hogy kiválasztanak egy klasztert aztán a többi magot érintetlenül hagyják. Nagyon kevés program használja ténylegesen az összes magot. Túl bonyolult."

    Már elnézést de ezt totális hülyeség. Maga az alkalmazás, azt se tudja min fut(igen van kivétel, de elég kevés), a Linux Kernel scheduler oldja meg a magok kiosztását, gyakorlatban akármennyit és akármilyent, a szoftvernek ez teljesen transzparens. DynamIQ-ban gyakorlatilag lehet 2-3-4 vagy több szint is, jelenleg egy csúcs ARM SoC-ban a 4 szint általános.
    Androidon meg aztán különösen annyi absztrakciós rétegen megy keresztül egy alkalmazás, hogy tök lényegtelen a programozói oldalról min fut, pont ez a lényege.

    [ Szerkesztve ]

  • vicze

    félisten

    válasz Abu85 #27 üzenetére

    Én csak Androidról beszélek, és konkrétan nincs olyan, hogy kiválaszt egy klasztert, mert nem látja, transzparens a programnak és a kernel dönti el, hogy hol min fut.
    Egyszerűen nem igaz, hogy a fejlesztő bármit választhat.
    Még a Snapdragon Power Optimization SDK -ban is ennyi van semmi más:
    Snapdragon Power Optimization SDK exposes two main modes through its API that allow developers to control power efficiency:
    “static mode”: controls the performance/power balance based on the current state of the application. This mode offers a number of flavors such as Window Mode, which configures the minimum and maximum frequency percentages that cores can use.
    “dynamic mode”: adjusts the core usage and frequencies through a feedback loop that self-regulates the system to a desired throughput metric.

    Alap Android API-ban nincsen semmilyen lehetőség clusteret választani, ami hülyeség is lenne, hisz nem tudod hány van és milyen fajta mert minden SoC esetében más-más, ráadásul idővel változik.
    NDK-val lehet optimalizálni, de még ott is elég véges a valós kontroll.

    Még egyszer akár 4db különböző teljesítményű "cluster" is lehet SoC függvényében, jó pár éve már nem kicsi és nagy között lehet csak választani.

  • vicze

    félisten

    válasz Abu85 #38 üzenetére

    Most már nagyon mellébeszélés megy....

    "Androidon is úgy működnek az alkalmazások, hogy kiválasztanak egy klasztert aztán a többi magot érintetlenül hagyják"
    Ez az állításod, és ez nagyon nem igaz, mert az alkalmazások nagyon kis töredéke működik így, ahol a fejlesztő külön megírta NDK-val a magok kezelését. Ráadásul nagy eséllyel csak specifikus SoC-okon működik így, ha működik egyáltalán.

    "És nem is az Android választja ki ezt, hanem a programban van lehetőség arra, hogy ezt megtedd"
    Továbbra se igaz!

    HetCompute SDK, egy compute SDK és CPU, GPU, DSP heterogén programozására van elsősorban, az hogy magtípust(csak big és little) lehet megcélozni egy mellékes dolog benne, és Android NDK-val integrálható, nem az SDK-val.
    Ráadásul a HetCompute SDK elavult 2019 óta nem lett frissítve, így nem támogatja a DynamicIQ-t és csak Big és Little-t lehet vele célozni. Semmivel nem működik 845 felett.

    "amit natív Android appba lehet integrálni"
    Megint csak ami kizárólag bizonyos Snapdagonokon működik...
    Egész ráadásaként még egyszer ez Compute-ra van nem általános programokra...

    Egyszóval az Androidon nem lehet alapból megválasztani, hogy min fusson egy program, csak ha valaki ezt külön implementálja az NDK-val. A fejlesztők nem szarnak rá, hanem iszonyatosan nagy munka minden egyes SoC-ra külön optimalizálni minden programot, gyakorlatban lehetetlen.

    [ Szerkesztve ]

  • vicze

    félisten

    válasz Abu85 #41 üzenetére

    "A te leírásoddal random dobálná az OS az alkalmazás teljesítményét indításonként."
    Ez ugye nagyon nem igaz. Az OS tudja, hogy az adott alakaszás magasabb igényű, így elve oda rakja ahova kell. Nincs semmiféle dobálás. Az OS schedulernek vannak alkalmazás profiljai, és a profil alapján az OS a megfelelő teljesítményt adja indítástól.
    Ezért lehet profilozási benchmark cheatekről olvasni...

    Másrészt a DynamicIQ-nak az egyik alapvető lényege, hogy szinte nincs megszakítás magváltások között, legalábbis semmi ami érzékelhető lenne. Mivel teljesítmény igény alapján teljesen dinamikus a magkiosztás. Nem big.Littile van, hanem domainek, akármennyi domain. Azonos magok is lehetnek más domainek pl. más órajellel. Lehet 8db A55-öd 2db 2,5GHz, 2db 2GHz és 4db 1,6Ghz, hiába ugyanazok a magok mégis más teljesítmény szintek más domainek.

    Az egész neten kb. semmilyen információ nincs arról amit írsz, konkrétan 0.

    big.Little bevezetésekor se kellett újraírni semmit, tök ugyanúgy futottak a programok mint előtte, DynamicIQ-nál se kellett semmit csinálni. Nem kell újraforgatni a programokat minden egyes SoC-ra és sorolhatnám vételenségig. Teljesen non-sense amit állítasz.

    [ Szerkesztve ]

  • vicze

    félisten

    válasz Abu85 #43 üzenetére

    Mutatnál egyetlen egy guide-ot Androidhoz vagy bármilyen bejegyzést ahol bármilyen nemű CPU profileingot csinálnak ahol bármilyen formában figyelembe veszik a CPU domaineket? :U

  • vicze

    félisten

    válasz Abu85 #47 üzenetére

    Még minding nem voltál hajlandó leírni, hogy egy jó nagyon kamuztál Androidról és megint csak a terelés megy... :U

  • vicze

    félisten

    válasz Abu85 #77 üzenetére

    "nem lehetetlen NDK-val megcsinálni" nem éppen azonos azzal, hogy "Androidon is úgy működnek az alkalmazások, hogy kiválasztanak egy klasztert" és az egyéb rengeteg mellébeszélés és információ amit leírtál egyáltalán nem igazak.

    Abban se vagyok teljesen biztos hogy DynamicIQ esetében lehetséges-e bármilyen célzott mag kiválasztás, pusztán abból adódóan, hogy nincs sok értelme, mert bármilyen lassulás pár pillanatra lenne csak érzékelhető(ez még alkalmazás indításkor), amíg a folyamat nem kerül az erősebb magra.
    Nem találkoztam semmilyen gyártói dokumentációval, SDK-val vagy úgy általánosan bármivel, ami ezt lehetővé tenné, és te se tudtál semmit se linkelni erre.
    Szóval lehet hogy 4éve lehetett big.Little-lel, de elég könnyen meglehet hogy DynamicIQ-val már nem lehet. De ha lehet is mivel specifikusan kell SoC-okra ezt megírni, 0 esélyt látok rá, hogy bármelyik fejlesztő foglalkozna ezzel bármilyen formában, egy ennyire fragmentálódott platformon. Azt is erősen kétlem, hogy valaha foglakozott volna ezzel bárki, amíg big.Little volt, ugyanazért.

    Tehát azt állítások, hogy az alkalmazások bármit is választanának hamisak, ahogy az is, hogy az OS nem csinál "semmit" az teljesítmény igény meghatározáshoz, mert gyakorlatban csak az OS dönti el Androidon.

  • vicze

    félisten

    válasz Abu85 #79 üzenetére

    "Big.Little esetében is hintekkel dolgoztak a fejlesztők"
    Azon kívül hogy ezt te kitaláltad, az ég világon egyetlen egy bizonyítékot nem tudsz erre mutatni... :U

    Biztos IKS-el is volt hint mi? :U GTS csak 2016-2017 környékén tejedt el a gyártók körében.
    Tényleg nem ártana egy kicsit utánajárj az egész big.Little és DynamicIQ vs. Linux kernel témakörnek. Linaro anyagokat ajánlom. Energy aware scheduling-nek se ártana utánaolvasni.

    "ugyanúgy lehet hintet alkalmazni bármilyen rendszerre"
    Totál hülyeség, mikor gyártó SDK specifikus...

    "Gyakorlatilag fél másodpercig megállna a feldolgozás"
    A nagyotmondást lehet még hova fokozni? :F

    [ Szerkesztve ]

  • vicze

    félisten

    válasz Abu85 #81 üzenetére

    Még egyszer Qualcomm HetCompute SDK elavult és nem működik újabb SoC-okon, ezenkívül 2018-ban lett kiadva, és 2019-ben már jött a DynamicIQ és el is avult. Elődleges feladata pedig a CPU/GPU/DSP heterogén programozása volt. Biztos sokan használták...
    És csak egy gyártó a fene tudja hány Android SoC gyártó közül.
    Azt is leírtam, hogy mikkel kéne tisztában lenni hozzá.

    Hol van ez a Unreal best practice leírva pontosan?

    Van egy elméleted, ami egyszerűen nem igaz és képtelen vagy beismerni... :(

    [ Szerkesztve ]

  • vicze

    félisten

    válasz Abu85 #83 üzenetére

    "Annak megvan az utódja."
    Aha, Unicorn amit senki se látott...

    De vagy 100x-ra ez csak is kizárólag pár Snapdragon SoC-ot érint és semmi mást...

    És megint a mellébeszélés... :U
    A Vulkan maszlag meg borzasztó fárasztó, úgy hogy a 2 kezemben meg tudom számolni a játékokat, amik Vulkan-t használnak... :U

    Köszönöm a linkeket...

    [ Szerkesztve ]

Új hozzászólás Aktív témák