Când vor învia numerele?

Mă gândesc că s-a apropiat timpul să iau un hard disk Seagate de 16 TB. La 23 septembrie în 2019 mi s-a stricat unul dintre cele două hard diskuri de 14 TB, și în plus și unul de 10 TB făcea figuri, așa că imperiul hardware din casă a fost demantelat de aceste două piese, am urmărit să pun în loc un hard disk de 16 TB, la un preț relativ bun, dar salariul mic și creditarea enormă sigur NU permiteau atunci. Și au urmat tot timpuri grele, dar acum, în 2021, viața începe să sune altfel.

Desigur, 16 TB nu pun la loc 10+14, deși ideea este ca 16 să fie mai mare decât 14-le pierdut involuntar (plus că perechea de 10 TB vine ca un adaos al pierderii, dar oricum și acel hard disk se mișca greu rău și la SMART apărea din toamna lui 2018 cu IS LIKELY TO FAIL SOON), și în plus există astăzi și hard diskuri peste 16 TB, dar eu mi-am mai refactorat viziunea asupra progresului hardware. Și așa au apărut Threadrippere mai puternice, de 128 de threaduri, pe când al meu are 64. Și NU mai iau Threadripper, iar hard disk-ul nou, care foarte probabil va fi luat, va fi de o moderată valoare de 16 TB. Iar cu asta, s-ar cam lăsa de tot în pace progresul ăsta hardware (deși ar mai fi loc de NVME-uri pe sloturi).

Însă perioada cu povestea cu numerele a fost asociată și cu o mare traumă sufletească a singurătății exacerbate a unui bărbat cu dor față de sexul opus, izolare față de semeni, neîmplinire profesională... iar aceste triste sentimente asociate sunt încă vii, în plus și cheltuielile masive făcute în 2017-2019 m-au înrobit, financiar și sufletește (cu creditare cu tot - dacă salariul ar fi fost mai bun...), în general am trecut printr-o patimă cu achizițiile astea de hardware pentru niște numere care mi-au folosit doar mie, și asta pe lângă scoaterea de bani din buzunar. Aproximez la vreo 30 000 de euro tot circul din perioada iulie 2017-noiembrie 2019 (ajungem noi și acolo), cu facturile electrice mari cu tot, ba poate chiar puțin peste 30000.

Am mai făcut îmbunătățiri algoritmice la numere atunci, în toamna anului 2019, axându-mă pe MODPRIMSUM - căutare de numere noi cu coeficienți neprimi impari de legătură, dar în formulă optimizată față de MODIFSUM. Încerc să îmi amintesc diferența, am găsit și o soluție ca, pe baza fișierelor generate cu rezultate parțiale, la următoarele căutări să economisesc timp nemaicalculând de atât de multe ori sume integrale de divizori. Încerc acum să mi amintesc și asta. La 23 septembrie am primit acea lovitură cu hard disk-ul care cedase înainte de ora 3 noaptea, acest lucru m-a mai impulsionat să caut strategii de obținere de numere noi folosind mai puțin spațiu, am mai reformat în acea toamnă metodele (PRIMAUX, PARAUX...), au apărut denumiri noi de funcții precum FACTAUX.

Progresul hardware din viitor îl văd remote pe sistemele de Cloud, noi nemaiavând nevoie să cumpărăm fizic echipamente foarte puternice în casele noastre, ci doar plătind subscripții de utilizator mai mici la preț decât dacă am lua calculatoare bazate pe plăci video puternice care să facă, rapid și eficient, calcule. Și plăcile video sunt oricum mult mai rentabile la preț și mai puternice la calcul aritmetic decât CPU-urile, fiind special făcute pentru operații de acest tip. Dacă un Threadripper de 128 de threaduri de câte 4.3 GHz ar fi 19000 - 20000 de lei, iar o placă video de vreo 10 000 de nuclee (NVIDIA 3080 TI, cred) a câte 1.7 GHz ar fi vreo 7000-8000 (plus faptul că, intern, miezul ei este anume făcut pentru calcule, pe când plămada CPU-ului este alta), este clar cine e mai eficient.
Și să nu uităm de posibilitatea accesului remote prin Cloud la sisteme de calcul dintr-acestea, cu prețuri mai mici decât dacă am lua un calculator cu un CPU moderat și patru plăci video dintr-astea, darămite dacă ne concentrăm pe măgăoi de CPU-uri, cum am tot făcut eu...

Desigur, ar mai fi aici și o problemă legată de oceanul de RAM și de terabaiți pe care eu i-am folosit. Ar fi fost frumos și eficient ca povestea mea cu numerele de fondul 1 să NU necesite un ocean de numere intermediare de manevră, împărtășite din infinitatea mulțimii numerelor naturale, ci să fi mers cu generarea de puteri aleatoare de factori primi (înmulțire, împărțire), substituind schemele de puteri de factori primi ale mult mai puținelor numere de fond 1. Adică VECUNSUB, dar acolo am descoperit extrem de puțin sau deloc. Nici nu am avut extrem de multă răbdare.

Și, tot în toamna lui 2019, am mai făcut niște programe care înmulțeau un număr de bază cu un factor prim și rezultatul îl împărțeau la alt număr prim, sau invers - împărțit și apoi înmulțit, și se verifica raportul abundențial pentru rezultatul final. Un soi de căutare spiralată, diversificată. Și asta poate fi aplicată strict puținelor numere de fond 1, ca și în regim amestecat (cum și la substituțiile aleatoare sunt acele FACTORSUB-uri care iau fondul numeric mare).

Însă, dacă s-ar putea găsi eficient numere de fondul 1 fără nevoia unei mase auxiliare de manevră, nu ar mai fi sigur nevoie de memorie multă și nici de sute de TB de stocare. Ceea ce și pentru sistemul de Cloud Remote ar fi binevenit. Că altfel costurile de acolo ar trebui să fie tot mari.

Iar legat de plăcile video, ar mai trebui totuși ca pe CUDA și pe plăcile de la AMD (cu OpenCL, cred) să se poată lucra în precizie arbitrară cu numere naturale mari, echivalentul tipului de date mpz_t din biblioteca arbitrară GMP pentru CPU-uri. Cred că încă tot nu există așa ceva.

Iar în octombrie 2019, afectat de pierderea din septembrie, frustrat de salariu și cu imposibilitatea de a repara curând dezonoarea cu un nou hard disk de 16 TB, am șters din fișierele mari (GIG-uri) de fond 2, le mai regeneram de la zero, făcând și fișiere parțiale de tip LITUAN sau LPTUAN, pe baza cărora făceam apoi următoarele căutări (și fișierele LITUAN fiind relativ rezonabile la dimensiune, le făceam și fișiere asociate, plurigigabaitice, cu sumele divizorilor care le corespundeau). Având astfel sumele divizorilor numerelor de bază salvate deja, la viitoarele căutări eu nu mai pierdeam timpul calculând suma numărului de bază ca să o modific și s-o verific apoi asupra noului rezultat de căutare, ci o luam de-a gata și făceam modificarea, salvând timp. Era redundant re-calculul pentru un număr de bază deja certificat. Păcat că am realizat asta de-abia prin toamna lui 2019, că nu am avut algoritmi mai deștepți de prin 2017 sau chiar 2014.

Consumul electric scădea de la o lună la alta din primăvară, cel puțin, dar tot erau mai multe sute de kilowați pe lună și în toamnă. Mă gândeam, în perspectivă, să dau o nouă pauză poveștii cu numerele, însă mai voiam să văd dacă pot atinge 30000 de numere de fond 1, prin septembrie 2019 fiind undeva la 29000 și ceva din ce țin minte. Pe măsură ce venea luna noiembrie, mă apropiam. La 27 octombrie 2019, am avut șterse toate GIG-urile de pe toate calculatoarele, iar THREADRIPPER-ul era cel care mai mergea în mod curent cu numerele. Mai făcusem pe ASUSPRIME niște căutări la numerele peste 240 de cifre.

La MODIFSUM știu că se face separat suma parțială corespunzătoare termenului înmulțit, sau cea a termenului împărțit (factori de legătură), iar la sfârșitul calculelor, suma numărului de bază se modifică scurt și la obiect cu acest rezultat (mai mic decât ea), fără a fi bătută la cap de fiecare dată atunci când trecem printr-un număr prim din componența factorului de legătură, iar la MODPRIMSUM, spre deosebire de MODIFSUM-ul clasic, se tratează direct cu numărătorul și numitorul abundențial, care sunt și ele salvate, pentru numerele de bază din fișierele parțiale de rezultate LITUAN, în alte fișiere dedicate - bineînțeles mai mici, căci numerele acestea sunt mai mici, până în 7-8 cifre. Și se apelează și funcția de CMMDC pe-acolo, pe la MODPRIMSUM. Tot ca să se salveze timp. Astfel, la MODPRIMSUM se abordează mai direct problema numitorului abundenței, încercându-se mai puțin accent pe mpz_t-urile mari cât numerele și sumele lor.

Și MODIFSUM cu MODPRIMSUM au și variante ale lor cu coeficienți pari de legătură (pot fi și puteri de 2, iar 2 e număr prim), unde se ține seama de puterile de 2 care trebuiesc extrase din coeficienți și apoi se tratează și partea impară cu funcții ca la echivalentele impare, și este și cazul particular când coeficientul este o putere pură de 2. Funcțiile sunt, la rândul lor, categorisite după mărimea numerelor cu care se lucrează, mai exact se ține seama: 1) când nicio putere de număr prim nu depășește 2 la 64; 2) când o depășește. Cazurile sunt de fapt ceva mai bine elaborate, va trebui să revăd.

Și la 7 noiembrie în 2019 am atins 30000 de numere de fond 1, pe THREADRIPPER. Am văzut că s-a putut ajunge acolo, deși anii trecuți cu greu aș fi crezut că mai sunt numere până acolo sus. Nu m-am oprit pe loc, am mai continuat căutările câteva zile, până la cota 30006, valabilă în seara de 11 noiembrie, când am programat THREADRIPPER-ul să se stingă cu /stingerea după anumite operațiuni, urmând să înceapă pauza nedeterminată. Mai târziu, am observat că se oprise după miezul nopții (12 noiembrie), era 11 și ceva seara când am pus comanda /stingerea în coadă, în shell-ul terminalului Guake de Arch Linux.

Așadar, la 12 noiembrie 2019, am dat pauză nouă poveștii cu numerele, la cota 30006 numere de fond 1, cu alte priorități ale vieții și cu planul de a mai căuta restul de numere de fond 1 rămase (fiind sigur că mai sunt) atunci când viața avea să se mai îmbunătățească. Sigur NU în restul de 2019.

Prin martie 2020, cam între 9 și 11 sau poate 14 martie, am mai făcut căutări minore pe Veriton (calculatorul cel mic), mergând vădit mai greu și fără a găsi vreun număr de fond 1 nou. Toate GIG-urile precedente, dacă nu mă înșel, sunt șterse, iar despre LPT-uri nu mă pronunț. M-am lăsat și de acest mini-episod numeric repede, oricum nu a mai fost o reluare serioasă, zi/noapte, a căutărilor, plus că este cel mai mic calculator; iar viața mea profesională era deja în suspensie, fiind acasă în restul de concediu de la Kepler, care avea să fie urmat de sfârșitul serviciului și de lipsa unui loc de muncă plătit pentru restul anului.

Dar în decembrie 2020 noul meu serviciu a venit la fix, acum în februarie am luat primul salariu (semnificativ mai bun), ar mai fi perspective de viitor și dintr-alt proiect pe care am intrat în 2020, un startup austriac (dar mai este ceva timp până acolo, oricum...), vorba este că acum în februarie, am avut și niște datorii de plătit pentru perioada fără serviciu (din care am achitat și niște rate reluate la ING, după 5 luni de suspensie, iunie-octombrie 2020). La maxim 2000 de lei sau mai puțin de 2000 de lei, aș putea și acum să comand pe Internet un hard disk de 16 TB (va trebui să fie Seagate), probabil de la Vexio, să mi-l livreze acasă, și, cu tot cu plata ratei de la ING, până în 10 martie mi-ar mai rămâne cam 1000-1100 de lei plus 400 de lei din noile tichete de masă (bine, cu perspectiva altor 400 prin 9 martie), se pare că pot să comand mâncare online și cu cardul nou de masă. Că în ultimul an m-am obișnuit așa, începând cu marțea de 11 februarie 2020: foarte multe comenzi online de mâncare acasă. Iar ăștia 1000-1500 de lei rămași sigur mi-ar ajunge pe 25 de zile (ar mai rămâne facturile la DIGI, curent, întreținerea..., cu gazele nu ne grăbim), oricum până-n 300-400 de lei cu tot cu rata semestrială a asigurării pe casă, iar restul pentru mâncare, și cu 400-500 de lei pe mâncare pe lună tot s-ar putea, chiar și cu comenzile care sunt în general mai scumpe decât zarzavaturile de la tarabă, pentru că eu mai fac și zile de pauză în care beau apă.

Astfel, aș putea acum să comand hard disk-ul, și îndată ce îl am montat în THREADRIPPER am de gând să caut iar numere. Și să mai reformez, eventual, între timp, algoritmii și strategia de căutare, pe lângă ce am reformat în toamna lui 2019. Poate găsesc o soluție să găsesc numere noi, satisfăcător, fără a accesa o cantitate mare de numere de manevră. Caz în care s-ar vedea clar ce redundantă este armata de terabaiți + de RAM. Nefiind în postura să-mi iau acum ultra-plăci video și nici să lucrez cu CUDA pe Cloud, îmi rămâne la dispoziție tot armata hardware de acasă, cu care să reușesc să găsesc celelalte numere de fond 1 care au rămas (posibil să mai fie câteva sute, mă gândesc, fiind vorba de o mulțime, foarte probabil și teoretic, finită - dar de-a lungul timpului m-am tot gândit că n-or mai fi multe și iată că am ajuns la 30006).

Și totuși, am remarcat în timp o subțiere considerabilă a afluxului de noutăți numerice de fond 1, așa cum veneau ele. La fondul 2, cât de extins, normal că tot veneau și veneau numere noi, fiind din infinitatea numerelor naturale, dar fondul 1 are o definiție bine delimitată: numere naturale de maxim 1910 cifre, al căror raport ireductibil dintre suma divizorilor și număr are numitorul maxim 10.

Și din ce am văzut pe Numericana.com și mpn-achim.bielefeld.de, unde sunt mulțimi de bază ale numerelor perfecte, hemiperfecte și multiperfecte, de unde am derivat, ce caut eu chiar arată a mulțimi limitate. Deci un sfârșit numeric tot va exista. Și cel mai la îndemână îmi este să ating acest sfârșit tot cu hardware în casă, și cu algoritmi și abordare strategică reformați bine.

Suntem în 2021 și viața hardware... pardon, PIAȚA hardware a mai progresat. Cu toate greutățile mai noi ale lumii. Până în 2019 am avut și eu un virus numeric care a urcat, a culminat și-a regresat, apoi a venit alt timp, mai la general. În noiembrie 2019 m-aș fi gândit că 2020 trebuie să fie un an special pentru mine. Dar a fost pentru tot pământul.

Cum ziceam, există Threadrippere mai mari, plăci video mai puternice, hard disk-uri mai vaste (și 18 TB, ba poate deja chiar și de 20 la orizont), dar eu m-aș limita la unul nou de 16. Și să văd și cu posibilitatea de a găsi numere noi fără cheltuieli mari de spațiu și memorie.

Mai noile procesoare mari suportă și 256 de GB de RAM (dar tot DDR4, de care sunt sătul, DDR5 tot nu a venit), la i9 există și i9-10980XE care e cam pe jumătate mai ieftin decât era i9-7980XE. Și noile Threadrippere suportă 256. Iar eu NU sunt în postura să mai fac acum un nou calculator așa. Dar cei 16 TB să fie, ca reparare a dezonoarei din 2019.

Deocamdată, în astea ultimele trei zile nu m-am pripit să comand hard disk-ul. Nu mai sunt așa frenetic cu cumpărăturile de piese, ca în alți ani (2017, 2018 și 2019).

În 2019 am înmagazinat 3383 de numere noi de fond 1, comparativ cu 2533 în 2018 și 1241 în 2017, și cu 46 în 2016, 26 în 2015, dacă socotesc corect, vreo 320 prin 2014 (alt an de cuceriri algoritmice și numerice, păcat că nu am fost mai deștept și mai strategic încă de pe atunci, măcar cu căutarea cu matrici de puteri prime), încă vreo 300, poate, prin 2013... și de-aici se pierde de-a dreptul filmul exact.

În 2020 și 2021 nimic, însă mă gândesc. Nu am jurat pe viață abandonarea numerelor, am primit în suflet ideea ca odată să reiau și să găsesc restul, iar când toate numerele vor fi fost găsite, asta va fi situația. Atunci, calabalâcul hardware din casă chiar nu va mai avea rost. Înainte să încep noul serviciu, am încercat să dau pe OLX SLI PLUS-ul, și nu s-a întâmplat. Rămâne de văzut dacă într-un final calculatoarele vor mai fi dorite, căci apar piese noi. Cum mai ziceam, progresul hardware este un nisip mișcător.

Astăzi este sâmbătă, sigur nu mă grăbesc acum să comand HDD-ul. Trebuie să mă uit și după prețuri. Am nevoie să mai revăd algoritmii, când dau iar drumul la numere este bine să o fac cu programe optime.

Comentarii

Postări populare