Jump to content

I5 12. paaudzes procesors - labākā izvēle.


martvigs
 Share

Recommended Posts

Tā arī domāju ka būs, ja kompilē uz visiem 16 korēm / 24 pavedieniem, tad 32GB RAM ir par maz.

Noēd visu RAMu, ka nav ko redzēt, un beigās viss nokrešo. Var jau SWAP failu palielināt, bet tad 'swapos' iekšā/ārā un būs vēl lēnāk.

Jāpalielina uz 64GB.

 

 

image.thumb.png.13ca2ebcc834da9f720d87bf48efa6b8.png

 

 

 

Labots - AndrisBB
Link to comment
Share on other sites

Jāpalaiž builds no jauna un jāpaskatās cik ilgi aizņems bez source koda lejupielādēšanas. Tas man lielākais bottleneks tagad.

Varbūt stundā var iekļauties. Sēdēt stundu un gaidīt kautkā neinteresanti, tapēc arī prasības :D

 

Ar veco laptopu gan parasti visu dienu aizņēma :D

 

Link to comment
Share on other sites

- Priekšnieks brīnās, kāpēc staigā apkārt un nestrādā?

- A, es te kompilēju, viss notiek, strādāju.

  • Patīk 1
  • Haha 2
Link to comment
Share on other sites

Tā jau ir. No nulles jau tik bieži nevajag, bet 10 - 20 min gaidīšana, tas standarts. Tad var kautko būtā/forumā ieklabināt vai aiziet kafiju uztaisīt :D

 

compiling.png

Labots - AndrisBB
Link to comment
Share on other sites

pirms 3 stundām , AndrisBB teica:

ja kompilē uz visiem 16 korēm / 24 pavedieniem

Ja fiziski ir 16 kores, tad ir kaut kāds vērā ņemams ieguvums, kompilējot vairāk kā 16 pavedienos?

Cik no senākiem laikiem atceros, tad praktiski nekāda ieguvuma nebija, bet nu tas bija sen un varbūt vairs nav taisnība.

Link to comment
Share on other sites

Pirms 11 minūtēm , binary teica:

Ja fiziski ir 16 kores, tad ir kaut kāds vērā ņemams ieguvums, kompilējot vairāk kā 16 pavedienos?

Multithreading uz performance corēm, tak.

Labots - Artanis
Link to comment
Share on other sites

@Artanis, to jau arī toreiz, senākos laikos, testēju. Nekāda jūtama ieguvuma tur nebija, kas arī ir loģiski. Nav jau tā, ka abi threadi uz tās vienas fiziskās cores var izpildīties vienlaicīgi, tāpat tam threadam jāgaida, kamēr otrs threads atbrīvos cori. Vienīgais, uz ko tur var kaut ko ietaupīt - uz context switchingu? Bet cik tad laika tas aizņem, ja galvenais darbs ir reāla CPU slogošana…

 

Bet vispār pārlasīju tavu komentāru un sapratu, ka ne vella nesapratu, ko tu ar to gribēji pateikt.

Labots - binary
Link to comment
Share on other sites

Pirms 27 minūtēm , binary teica:

Ja fiziski ir 16 kores, tad ir kaut kāds vērā ņemams ieguvums, kompilējot vairāk kā 16 pavedienos?

 

Eh, pa lielam atkarīgs visdrīzāk no katra individuāla setupa. Lai noskaidrotu ātrāko, tad visdrīzāk jāiet cauri dažādām permutācijām un jāeksperimentē.

 

Viss builds sastāv no tūkstošiem recepšu. Katra recepte atbilst bilbiotēkai, softwārei, utt, piemēram kernels, opencv, kautkādas bibliotēkas, utt. 

Katra recepte iet cauri `tāskiem`, ir vēl citi, bet šie galvenie:

- do_fetch
- do_unpack
- do_configure
- do_compile
- do_strip
- do_install
- do_package
- do_deploy

 

Nu kā te var redzēt 24 paraleli projekti tiek kompilēti/sapakoti instalēšanai.

image.png.f1b73930b6e9f5b2a70d0df7a0b6755c.png

 

Tad nu divi galvenie mainīgie šinī pasākumā:

- Cik paralēlas receptes/projektus buildot

- Cik paralēlus `pavedienus` atļaut make/cmake/ninja utt, do_compile solī katrai receptei.

 

Konsensus ir (un arī defaultais settings), ka abus ieliek tik cik 'pavedieni' CPU.

Bet nu, maz ticams ka tas pats optimālākais-optimālākais variants.

 

 

Link to comment
Share on other sites

Ja gribās arī datoru lietot kamēr buildojas, tad noteikti mazāk, savādād visas kores un 100% un dators faktiski ir nelietojams, ja nu vienīgi pašā sākumā, kad visas receptes vēl do_fetch stadijā un tikai velk kodu no interneta.

 

Vēl interesantāk ar ar tām pilnajām un pus-corēm.

 

Link to comment
Share on other sites

Pirms 52 minūtēm , binary teica:

Vienīgais, uz ko tur var kaut ko ietaupīt - uz context switchingu? Bet cik tad laika tas aizņem, ja galvenais darbs ir reāla CPU slogošana…

Nu ja pieņem ka tev ir 8 kores un tu palaid `make -j8`.

Tad make teorētiski uzturēs 8 paralēlus gcc/g++ vai ko tu tur kompilē.

Ja katrs tas process būtu 100% CPU piesaistīts un nekāda I/O (failu ielasīšana/izrakstīšana), tad jau 8 paralēli procesi būtu optimālākais.

Bet realitātē tā nav. Un optimālākais esot 2 - 4 uz kori.

 

Vispār japalaiž kāds C++ projekts un jāpamēģina.

Link to comment
Share on other sites

Pirms 5 minūtēm , AndrisBB teica:

Bet realitātē tā nav. Un optimālākais esot 2 - 4 uz kori.

Nu man kā reiz toreiz "2-4 uz kori" it nekādu ieguvumu nedeva. Tas gan bija tieši buildošanai - kompilēšana, linkošana, stripošana utt. Ja procesā ir daudzi I/O bound taski, tad jā, "1 task per core" to CPU nespēs noslogot.

Bet jau rakstīju - tas bija sen un varbūt vairs nav taisnība.

Link to comment
Share on other sites

Palaidu nodejs buildu (tikai kompilēšana, linkošana,stripošana utt) ar 16 paralēliem pavedieniem, paskatīsies cik ilgi ies. Pēctam pamēģināšu 24, 32, 40.

Varbūt tā nebij tā labākā izvēle, jo aizņem daudz laika parasti :D

 

Link to comment
Share on other sites

Ja tīri kompilē, tad tiešām nekādas starpības nav, kas arī varētu tā būt.

 

vari@prime:~/work/build$ export PARALLEL_MAKE="-j 8"
vari@prime:~/work/build$ time bitbake nodejs -c compile
real	24m52.525s
user	0m0.787s
sys	0m0.202s


vari@prime:~/work/build$ export PARALLEL_MAKE="-j 12"
vari@prime:~/work/build$ time bitbake nodejs -c compile
real	22m33.582s
user	0m0.890s
sys	0m0.136s


vari@prime:~/work/build$ export PARALLEL_MAKE="-j 16"
vari@prime:~/work/build$ time bitbake nodejs -c compile
real	20m6.989s
user	0m0.902s
sys	0m0.125s


vari@prime:~/work/build$ export PARALLEL_MAKE="-j 24"
vari@prime:~/work/build$ time bitbake nodejs -c compile
real	20m42.033s
user	0m0.910s
sys	0m0.130s


vari@prime:~/work/build$ export PARALLEL_MAKE="-j 32"
vari@prime:~/work/build$ time bitbake nodejs -c compile
real	21m8.823s
user	0m1.103s
sys	0m0.156s

 

Link to comment
Share on other sites

Tik tas ka ar katru jaunu pavedienu noēd vairāk RAM. Make vienkārši kompilē failu pa failam, kas nozīmē ka iesāk teiksim 32 paralēlus failus, bet nekādu ekstra ātrumu tas nedod, tik tas ka vajag ekstra atmiņu.

Cita lieta ir ja laiž pilnu ciklu. Lejupielādē kodu -> atpako -> nopačo -> configurē -> compilē -> sapako -> lieliek gala failu sistēmā.

Tad pa lielam ir ātrāk, ja buildojas vairāki paralēli projekti.

 

Interesanti kapēc visādos vecākos postos cilvēki postē grafukus kur uzrādas sweet spots, ja 2 - 5 paralēli gcc uz kori?

Varbūt ar 2 coru CPU tā arī sanāk (OS un viss cits pa vidam maisās), plus kautkāds būtiski lēnāks HDD.

Šis Samsungs kas man tagad ir ātrākais kāds man bijis. Stabili 6000 mb/s

 

 

 

 

 

 

 

 

 

 

 

Screenshot from 2022-11-17 15-42-43.png

  • Patīk 1
Link to comment
Share on other sites

1 stundu atpakaļ, AndrisBB teica:

Varbūt ar 2 coru CPU tā arī sanāk (OS un viss cits pa vidam maisās), plus kautkāds būtiski lēnāks HDD.

Šis Samsungs kas man tagad ir ātrākais kāds man bijis. Stabili 6000 mb/s

Varētu būt, ka man tie senie testi kā reiz bija uz 2 kodoliem ar lēnu hdd.

Link to comment
Share on other sites

Problēma jau tur ka `make` nevar neko pasākt ar 'pavedieniem'. Vienkārši palaiž pieņemsim 8 paralēlas `gcc` instances.

Ja gcc varētu iekšēji taisit jaunus threadus, tad varētu izmantot abus pavedienus ko tām performance korēm.

LLVM kautko tādu piedāvā.

 

Interesanti kā otrās atbildes autors tika pie šiem rezultātiem?

https://softwareengineering.stackexchange.com/questions/156569/how-many-make-threads-to-use

 

Varbūt tiešām jāpamēģina 7*cores :D

 

(pamēģināju, un pēc pus minūtes jau 64GB RAMS ir cauri un viss nokrešo :D )

Labots - AndrisBB
Link to comment
Share on other sites

pirms 13 stundām , AndrisBB teica:

Problēma jau tur ka `make` nevar neko pasākt ar 'pavedieniem'. Vienkārši palaiž pieņemsim 8 paralēlas `gcc` instances.

Ja gcc varētu iekšēji taisit jaunus threadus, tad varētu izmantot abus pavedienus ko tām performance korēm.

Tiešām?

 

Ko tad tas make/gcc/whatever tur dara ar corēm? Vienkārši noslogo to cori, papildus lasot source failus (IO), beigās saglabājot storagē rezultātu (atkal IO). Ja IO laika ziņā aizņem "apmēram necik" un 99% laika CPU core tiek 100% noslogota, tad ko tie pavedieni tur palīdzēs? Tāpat "abi pavedieni" savā starpā konkurēs uz to cori. Cik nu no lasītā sapratu, nav tā, ka "abi pavedieni" varētu izpildīties vienlaicīgi, fiziski gluži vienkārši nav resursu, uz kuriem tam notikt.

 

Jebšu es kaut ko ne tā saprotu un uz tām "performance corēm" ir dzelži, kas ļauj vairākiem threadiem vienlaicīgi izpildīt instrukcijas?

 

Link to comment
Share on other sites

 

pirms 3 stundām , binary teica:

Jebšu es kaut ko ne tā saprotu un uz tām "performance corēm" ir dzelži, kas ļauj vairākiem threadiem vienlaicīgi izpildīt instrukcijas?

 

Instrukcijas izpildīšana jau ir tikai viena maza daļa no visa `pipelaina`. Tur jau vēl visādas optimizēšanas, pārkārtošanas, utt. Kautko var izpildīt paralēli, kautko nevar.

Rezultātā sanāk kautkas pa vidam, ka viena kore var izpildīt 2 threadus, bet nav tik ātri kā, ja katrs threads uz citas kores. 

 

 

 

 

 

 

 

 

 

 

 

 

Link to comment
Share on other sites

Jā. 

Spēles nespēlēju, tapēc nekāda lielā jēga no atsevišķas videokartes nav.

Monitors ir 34'' 3440x1440 un processora GPU tiek ar to galā bez problēmām. 

Nu vienīgais čakars, ko tagad esi ievērojis ir, ka ja 'hibernē' Linux Mint, tad monitors vairs neatgriežas pie dzīvības. Slinkums pētīt, kas par vainu.

Pirmstam izmantoju Mac Mini M1 kā desktopu un nekad neslēdzu viņu ārā, tādas problēmas nebij. Kā arī kluss kā kaps pat pie 100% noslodzes, salīdzinot ar jauno 'putekļusūcēju'. :D

Varbūt vajag kautkādu 'šķidro dzesēšanu'

 

 

 

 

 

Labots - AndrisBB
Link to comment
Share on other sites

Anonīms Alkoholiķis

Sistēmu jāiegremdē eļļā un jātur aiz loga ārpusē..

Link to comment
Share on other sites

Nē, vienkārši ventilātori.

Kad neko nedara, tad jau kluss. Korpuss nāca par kautkādu 3 pin ventilātoru, tas bij faktiski 100% on. Nomainiju uz 4 pin Noctua, tas tagad kluss.

Nu CPU vents ir diezgan skaļš, kad uz 100% mauc. Neko jau laikam tur nepadarīt. Droši vien atstāšu kā ir.

 

Linux kernelī ar vēl īsti supporta priekš 13tās paaudzes nav. Mint standartā nāk ar 5.15, itkā strādā. Updeitoju uz 5.17, parādijās HDMI skaņa un citi sīkumi.

Intelis tā īsti supportu esot pielicis tikai no 5.19 vai 6.0 (jeb 5.20). Ubuntu 22.10 jau ir ar 5.19, ganjau arī Mint drīz piedāvās. Var jau vienkārši updeitot pats.

 

1 stundu atpakaļ, HIGH-Zen teica:

Droši vien baigā noņemšanās, ja grib likt šķidro dzesi.

Neizskatās ka tur būtu baigā ņemšanās uzlikt tos all-in-one kitus. Bet nu vait tur būs kas klusāks, tas cits jautājums.

Jātstiepj no darba kādu no šiem prototipiem, tik 1700 soketam nederēs :D

https://www.iceotope.com/technologies/

 

 

 

 

Link to comment
Share on other sites

19.11.2022. , 14:38, AndrisBB teica:

CPU vents ir diezgan skaļš

Tak nomaini uz kaut ko šādu, būs daudz klusāks

Link to comment
Share on other sites

Izveido kontu, vai pieraksties esošajā, lai komentētu

Jums ir jābūt šī foruma biedram, lai varētu komentēt tēmas

Izveidot jaunu kontu

Piereģistrējies un izveido jaunu kontu, tas būs viegli!

Reģistrēt jaunu kontu

Pierakstīties

Jums jau ir konts? Pierakstieties tajā šeit!

Pierakstīties tagad!
 Share

×
×
  • Izveidot jaunu...