Piekļuve „superdatoram”: vispirms es pārbaudīju, vai tas tiešām ir 64 bitu
Vienā no priekšmetiem mums iedeva piekļuvi „superdatoram” — tā to toreiz sauca. Tas bija skaitļošanas grids: ui.grid.lumii.lv Latvijas Universitātē un BalticGrid tīkls, kur varēja sūtīt uzdevumus. Un tas bija 64 bitu. Toreiz tas bija daudz: mājās mums vēl stāvēja 32 bitu datori. Visi teica: „O, tur ir daudz atmiņas.” Bet mani vispirms interesēja kas cits.
Mums iedeva SSH konsoli, kaut kādas komandas, kompilatoru. Es uzreiz metos skatīties, kas tie par 64 bitiem, un sarīkoju ātruma testu. Ņemam miljardu reižu un sareizinām vispirms 32 bitu skaitļus, tad 64 bitu. Parastā 32 bitu datorā garu skaitļu reizināšana notiek, teiksim, par kārtu ilgāk. Bet te — hop, ar tādu pašu ātrumu. Tiešām 64 biti.
Draugus pārsteidza pati pieeja. Viņi 64 bitu procesoru uztvēra tikai no atmiņas viedokļa: adresācija platāka, un viss. Bet es viņiem: „Nē, tam arī visi reģistri ir gari.” Olimpiāžu programmēšanā bieži jāsaskaita lieli skaitļi un jāraksta sava garā aritmētika, bet te puse no tās ir gatava no kastes.
No mājasdarba, ko mēs tur darījām 2008. gada janvārī, man saglabājies ziņojums. Vienkāršs cikls no nulles līdz diviem miljardiem uz ui.grid.lumii.lv gāja 17 sekundes, BalticGrid vidē — 21. Pēc tam es uzrakstīju pārbaudi, vai 96 bitu skaitlis 0x19D971EC4223A489D6986D7B ir pirmskaitlis. Uzdevums nonāca uz mezgla ar Itanium 2, strādāja 1256 sekundes un atrada dalītāju 0x3B9ACA09, tas ir, 1 000 000 009. Ar četriem pavedieniem iznāca 752 sekundes, bet MPI versija aizceļoja uz datoru Kauņā un skaitīja 1119.
Sev noderīgu pielietojumu tam visam es tā arī neatradu. Ja kaut ko vajadzēja izskaitļot, vienkāršāk bija palaist savā datorā — lai skaita kaut pusdienu —, nekā iet uz „superdatoru”: augšupielādēt failus, kompilēt, sūtīt uzdevumu rindā un atdurties limitos.