Dator för matematisk och statistisk programmering

Permalänk
Medlem

Dator för matematisk och statistisk programmering

Hej!

Jag vore tacksam för byggförslag på en jävligt snabb arbetshäst som ska kunna ro i land ganska tung matematisk programmering. Grafik är i princip helt ointressant men det är positivt om man kan kolla Youtube utan problem. Har kommit fram till att jag bör prioritera CPU, minne och hastighet på SSD. Tänker mig

CPU: i7 eller i9 med 20-tal kärnor.
RAM: 128 GB
SSD: 1 TB räcker, hastigheter 10 000+
Grafik: Så lågt pris som möjligt men kompatibelt med moderkort.
Moderkort: Vet ej/Dålig koll
Kylning: Dålig koll, men maskinen ska kunna jobba hårt i ett dygn (om möjligt) utan risk för överhettning.
Chassi: Vet ej/Dålig koll

Byggnation via inet ska ingå i priset. Kommer jag undan med 25k?

Stort tack!

Permalänk
Medlem

Vad är "ganska tung matematisk programmering" ?
Jag menar med 128 GB kan du beräkna 5 Trillion Digits of Pi.

Behöver överväga vad du behöver exakt, vara det kärnor / cache / accelerering / seq/rnd read/writes etc.

Permalänk
Medlem
Skrivet av Sinery:

Vad är "ganska tung matematisk programmering" ?
Jag menar med 128 GB kan du beräkna 5 Trillion Digits of Pi.

Behöver överväga vad du behöver exakt, vara det kärnor / cache / accelerering / seq/rnd read/writes etc.

Tack som frågar. Men oj, det vet jag inte. Hårdvara är inte mitt område. Det enda jag vet är att min Macbook Air tar för lång tid och blir för varm av att gå länge. Sen är jag osäker på flaskhalsen, om det är processorn med 8 kärnor eller minnet på 24 GB. Det är möjligt att 64 GB RAM räcker men har hellre lite marginal uppåt.

Permalänk
Medlem

https://www.inet.se/datorbygge/b1498323/cherson

1 extra fläkt till baksidan för utsug

Visa signatur

[ RX 7900 XT Phantom Gaming ][ 13700KF (DeepCool AK500 Svart/Silver) ][ ASUS Prime Z690-A ][ Kingston 32GB DDR5 6000MHz CL36 FURY Beast][ Kingston Fury Renegade M. 2 2TB ][ Fractal Design Ion+ 2 Platinum 860W ][ Fractal Design Torrent Compact Svart - Mörk TG ][ LG 27'' UltraGear 27GP850P ]

Permalänk
Moderator
Festpilot 2020, Antiallo
Skrivet av cherson:

Hej!

Jag vore tacksam för byggförslag på en jävligt snabb arbetshäst som ska kunna ro i land ganska tung matematisk programmering. Grafik är i princip helt ointressant men det är positivt om man kan kolla Youtube utan problem. Har kommit fram till att jag bör prioritera CPU, minne och hastighet på SSD. Tänker mig

CPU: i7 eller i9 med 20-tal kärnor.
RAM: 128 GB
SSD: 1 TB räcker, hastigheter 10 000+
Grafik: Så lågt pris som möjligt men kompatibelt med moderkort.
Moderkort: Vet ej/Dålig koll
Kylning: Dålig koll, men maskinen ska kunna jobba hårt i ett dygn (om möjligt) utan risk för överhettning.
Chassi: Vet ej/Dålig koll

Byggnation via inet ska ingå i priset. Kommer jag undan med 25k?

Stort tack!

Skulle tro att arbetslastens typ är av största vikt här. Inte säkert att fler kärnor hjälper om det ändå är beroenden i koden. (Dvs du återanvänder utfall och svar från tidigare beräkningar). Kör du massa svep och plottar monte carlo-tester så är såklart många kärnor bra men undra om inte lite GPGPU-beräkningar är bättre då...

Visa signatur

 | PM:a Moderatorerna | Kontaktformuläret | Geeks Discord |
Testpilot, Skribent, Moderator & Geeks Gaming Huvudadmin

Permalänk
Medlem

Om du skriver vad det är för program och vad för typ av beräkningar så finns det definitivt personer här på sweclockers som kan hjälpa dig till det bästa valet för uppgiften.

Permalänk
Medlem

Tack för bygget! Men helt utan grafikkort? Du tänker att det räcker med det integrerade grafikkortet? Ja, kanske det.

Skrivet av DavidtheDoom:

Skulle tro att arbetslastens typ är av största vikt här. Inte säkert att fler kärnor hjälper om det ändå är beroenden i koden. (Dvs du återanvänder utfall och svar från tidigare beräkningar). Kör du massa svep och plottar monte carlo-tester så är såklart många kärnor bra men undra om inte lite GPGPU-beräkningar är bättre då...

Monte Carlo, ja. Exakt. Se nedan.

Skrivet av tonii:

Om du skriver vad det är för program och vad för typ av beräkningar så finns det definitivt personer här på sweclockers som kan hjälpa dig till det bästa valet för uppgiften.

Tack för era svar. Jag använder just nu Matlab och Python för att skatta BVAR-modeller. Vill kunna loopa över ett stort antal variabler och kombinationer av dessa. Så matematiken i sig är inte jättekomplicerad, utan det handlar om mängden beräkningar. Problemet är att varje skattning kräver åtminstone 20 000 dragningar med en MCMC (Monte Carlo) sampler. Ska jag då skatta 5000 modeller över många tidsperioder tar det för lång tid. Det är möjligt att det som David är inne på ändå blir en flaskhals med olika beroenden men går det att optimera med starkare delar så känner jag att det är värt det.

Permalänk
Medlem

Innan du ger dig på några köp så bör du sätta dig in i din applikations systemkrav. Hur mycket prestanda tappar du om du tar bort ett minneskort, hur mycket prestanda tappar du om du stänger av en kärna (och flera). Hur mycket IO (och när) går mot din SSD. Sådana prestandamätningar ger dig en hint om hur dina program jobbar i ditt system. Om dessa tre krav (CPU/Minne/Disk) är jämt belastade under din körning så bör du skaffa ett balanserat system. Men om t.ex. CPU är viktigt under 80% av tiden som sedan följs av hög IO mot SSD så kanske du helt och hållet skall satsa på maximal CPU-prestanda. Det är bara din applikationskännedom i kombination med dina datasets som kan avgöra detta.

Permalänk
Medlem

Jag kan inte din applikation, men en googling ger att det finns optimerade bibliotek för detta, typ "ParaMonte" - använder du inte detta eller motsvarande så börja där. Rena beräkningar i ren Python eller Matlab är fruktansvärt långsamt.

Men jag förutsätter att du har koll på ovanstående, så börja med att profilera din kod för att ta reda på vart flaskhalsen ligger. Optimera sedan så gott det går. Därefter köper du prylarna du behöver. Är du osäker så lägger du ut resultatet från din profilering här så får du garanterat hjälp med hur du klokast spenderar dina pengar.

Permalänk
Medlem
Skrivet av mc68000:

Innan du ger dig på några köp så bör du sätta dig in i din applikations systemkrav. Hur mycket prestanda tappar du om du tar bort ett minneskort, hur mycket prestanda tappar du om du stänger av en kärna (och flera). Hur mycket IO (och när) går mot din SSD. Sådana prestandamätningar ger dig en hint om hur dina program jobbar i ditt system. Om dessa tre krav (CPU/Minne/Disk) är jämt belastade under din körning så bör du skaffa ett balanserat system. Men om t.ex. CPU är viktigt under 80% av tiden som sedan följs av hög IO mot SSD så kanske du helt och hållet skall satsa på maximal CPU-prestanda. Det är bara din applikationskännedom i kombination med dina datasets som kan avgöra detta.

Bra synpunkter. Självklart borde jag kolla upp det innan jag hastar iväg en order. Och det är minnet som begränsar skulle jag säga. Det ligger och slår i taket under en körning, 95-98 % konstant. CPU-användningen är inte mer än 30 %. Disken ligger på 1 %. Så det verkar glasklart.

Permalänk
Medlem

Funderar om inte threadripper skulle kunna vara ett alternativ om man vill kunna bygga vidare på den senare. Finns ju 3 gånger mer kärnor, mer minneskanaler och mer bandbredd till ssd och andra accelereratorer och liknande

Permalänk
Moderator
Festpilot 2020, Antiallo
Skrivet av cherson:

Tack för bygget! Men helt utan grafikkort? Du tänker att det räcker med det integrerade grafikkortet? Ja, kanske det.

Monte Carlo, ja. Exakt. Se nedan.

Tack för era svar. Jag använder just nu Matlab och Python för att skatta BVAR-modeller. Vill kunna loopa över ett stort antal variabler och kombinationer av dessa. Så matematiken i sig är inte jättekomplicerad, utan det handlar om mängden beräkningar. Problemet är att varje skattning kräver åtminstone 20 000 dragningar med en MCMC (Monte Carlo) sampler. Ska jag då skatta 5000 modeller över många tidsperioder tar det för lång tid. Det är möjligt att det som David är inne på ändå blir en flaskhals med olika beroenden men går det att optimera med starkare delar så känner jag att det är värt det.

Spontant skulle jag säga att Python är problemet här om du vill ha någon prestanda att prata om. Att kollera och plotta datan med python är ju fine. Att köra beräkningarna i python är lite som att springa upp för en backe med båda benen gipsade och dessutom bära ett halvt fotbollslag på axlarna.

Ska du har rejäl prestanda så hade jag tittat på pipelinen och hur du matar in datan och hur dessa körs i systemet.
Har du bekräftat att du använder alla trådar fullt ös i nuvarande maskin?

C++ är någonstans mellan 10-100 gånger snabbare än python för samma last. Däremot kanske det inte är körningarna som dominerar dina arbetsdagar utan kodskrivandet? Då spelar det så klart mindre roll.

edit:typo
Visa signatur

 | PM:a Moderatorerna | Kontaktformuläret | Geeks Discord |
Testpilot, Skribent, Moderator & Geeks Gaming Huvudadmin

Permalänk
Medlem
Skrivet av medbor:

Funderar om inte threadripper skulle kunna vara ett alternativ om man vill kunna bygga vidare på den senare. Finns ju 3 gånger mer kärnor, mer minneskanaler och mer bandbredd till ssd och andra accelereratorer och liknande

Blir dock svårt när man siktar på runt 25k, räcker knappt till CPU med senaste instegsmodellen.

Permalänk
Medlem

Är det här nåt du ska göra regelbundet och uppdatera löpande osv? Är det mer av ett få-gångsjobb kan det ju bli billigare att spinna upp några moln-vm:ar, dela upp variabelkombinationerna lite och köra det distribuerat.
Det kan ju också va enklare att bara skriva om koden så att saker sparas ner efter varje körning och kan återupptas istf att det måste startas om när det kraschar. 20k samples ska ju inte vara nåt problem storleksmässigt så det känns snarare som att det är nåt annat som äter upp minnet efterhand.
Slänga 25 kkr på en privat dator låter som en av de mindre önskade lösningarna här (om du nu inte kan skriva av det mot nåt leksakskonto vill säga).

Permalänk
Medlem
Skrivet av Chibariku:

Blir dock svårt när man siktar på runt 25k, räcker knappt till CPU med senaste instegsmodellen.

Oj, hade missat att de stuckit iväg så långt. Hlet klart ovärt på alla sätt

Permalänk
Medlem
Skrivet av DavidtheDoom:

Spontant skulle jag säga att Python är problemet här om du vill ha någon prestanda att prata om. Att kollera och plotta datan med python är ju fine. Att köra beräkningarna i python är lite som att springa upp för en backe med båda benen gipsade och dessutom bära ett halvt fotbollslag på axlarna.

Ska du har rejäl prestanda så hade jag tittat på pipelinen och hur du matar in datan och hur dessa körs i systemet.
Har du bekräftat att du använder alla trådar fullt ös i nuvarande maskin?

C++ är någonstans mellan 10-100 gånger snabbare än python för samma last. Däremot kanske det inte är körningarna som dominerar dina arbetsdagar utan kodskrivandet? Då spelar det så klart mindre roll.

Beräkningarna kör jag just nu i Matlab för detta projekt. Går fortare än Python som du säger. Är ganska ny i branschen (2 år) och kör just nu med en Macbook Air där jag kan bekräfta att minnet verkar vara flaskhalsen då det belastas för fullt medan CPU bara når 30 %. Kodskrivandet tar mest tid under arbetsdagarna men har ett hobbyprojekt igång som jag önskar mer kraft för.

Skrivet av Napoleongl:

Är det här nåt du ska göra regelbundet och uppdatera löpande osv? Är det mer av ett få-gångsjobb kan det ju bli billigare att spinna upp några moln-vm:ar, dela upp variabelkombinationerna lite och köra det distribuerat.
Det kan ju också va enklare att bara skriva om koden så att saker sparas ner efter varje körning och kan återupptas istf att det måste startas om när det kraschar. 20k samples ska ju inte vara nåt problem storleksmässigt så det känns snarare som att det är nåt annat som äter upp minnet efterhand.
Slänga 25 kkr på en privat dator låter som en av de mindre önskade lösningarna här (om du nu inte kan skriva av det mot nåt leksakskonto vill säga).

Jag har sett till att det sparas ner emellanåt, ja. 20k samples blir problem om det ska göras 20 000 gånger. Gånger 250. Det kan växa fort som du säkert vet. Skönare att få det gjort på fyra timmar än på fyra dagar. Du kan gå upp mot 30kkr om det är motiverat.

Permalänk
Datavetare

Spelar rätt stor roll vilket/vilka ramverk/bibliotek du använder.

PyMC verkar kunna vara något som är relevant för det du beskriver. Har aldrig använt PyMC själv.

För t.ex. machine-learning är det ju rätt segt att koda allt själv och prestandan i "ren" Python skulle vara öken. Men med bibliotek som PyTorch och Tensorflow får man istället prestanda som är bättre än vad en förkrossande majoritet av programmerare inte skulle komma nära om de så skrev i C++/assembler eller liknande.

Rätt utnyttjat använder dessa ramverk båda flera kärnor, olika former av acceleratorer som GPU/NPU väldigt effektivt förutsatt att problemet är "tillräckligt" stort. Små/medelstora problem fungerar typiskt bäst på CPU och där är det typiskt också prestanda per kärna som betyder mest.

Vet inte vad som bäst passar för t.ex PyMC, men är sådant du behöver förstå för att veta vad en optimal uppgradering är för dig.

Som du är inne på är ju RAM kritiskt, har man för lite RAM spelar resten i stort sett ingen roll.

Efter det är det nästan allt prestanda per kärna som spelar störst roll för "normalanvändaren", en CPU med fler kärnor men lägre prestanda per kärna kan vara snabbare men i praktiken är det i rätt nischade fall.

Ditt fall är tillräckligt nischat för att tillhöra detta, men givet vad du skriver låter det rätt mycket som det mesta annat: vissa saker skalar med CPU-kärnor, men mycket bryr sig bara om prestanda per kärna. Typiskt är det latens-känsliga saker som man stör sig mest på, som test/olika experiment, och dessa är ju även för saker som ML/programmering etc ofta helt begränsade av enkeltrådprestanda (trots att detta annars är andra nischer där många kärnor kan hjälpa till).

Visa signatur

Care About Your Craft: Why spend your life developing software unless you care about doing it well? - The Pragmatic Programmer

Permalänk
Medlem
Skrivet av Yoshman:

Spelar rätt stor roll vilket/vilka ramverk/bibliotek du använder.

PyMC verkar kunna vara något som är relevant för det du beskriver. Har aldrig använt PyMC själv.

För t.ex. machine-learning är det ju rätt segt att koda allt själv och prestandan i "ren" Python skulle vara öken. Men med bibliotek som PyTorch och Tensorflow får man istället prestanda som är bättre än vad en förkrossande majoritet av programmerare inte skulle komma nära om de så skrev i C++/assembler eller liknande.

Rätt utnyttjat använder dessa ramverk båda flera kärnor, olika former av acceleratorer som GPU/NPU väldigt effektivt förutsatt att problemet är "tillräckligt" stort. Små/medelstora problem fungerar typiskt bäst på CPU och där är det typiskt också prestanda per kärna som betyder mest.

Vet inte vad som bäst passar för t.ex PyMC, men är sådant du behöver förstå för att veta vad en optimal uppgradering är för dig.

Som du är inne på är ju RAM kritiskt, har man för lite RAM spelar resten i stort sett ingen roll.

Efter det är det nästan allt prestanda per kärna som spelar störst roll för "normalanvändaren", en CPU med fler kärnor men lägre prestanda per kärna kan vara snabbare men i praktiken är det i rätt nischade fall.

Ditt fall är tillräckligt nischat för att tillhöra detta, men givet vad du skriver låter det rätt mycket som det mesta annat: vissa saker skalar med CPU-kärnor, men mycket bryr sig bara om prestanda per kärna. Typiskt är det latens-känsliga saker som man stör sig mest på, som test/olika experiment, och dessa är ju även för saker som ML/programmering etc ofta helt begränsade av enkeltrådprestanda (trots att detta annars är andra nischer där många kärnor kan hjälpa till).

Tack för bra input! Det fina med att glida förbi här på Sweclockers inför en uppgradering av sin dator är att man inser hur mycket man hade behövt läsa på för att kunna ta ett optimalt beslut. Det ger mig två val. Antingen slå till redan nu på en hyfsat överdimensionerad maskin som inom budgeten kommer att vara flera gånger bättre än den jag har för att sedan utveckla kunskaperna successivt, eller plugga ikapp i hög takt och möjligen kunna spara in en femtedel av kostnaden när det exakta behovet framstår allt klarare.