@pscager - dla mnie CUDA nie wchodzi w gre...
Moje zadanie jest specyficzne - mam przeprowadzic analize Monte Carlo dla grupy modeli statystycznych w konkretnej implementacji. Monte Carlo ma sluzyc wylapywaniu bledow i nieciaglosci w algorytmie implementujacym model.
Dlaczego CUDA i podobne technologie odpadaja?
Koszt sprzetu - tak niewielki ze mozna go pominac... fundusze sa, sprzet mozna kupic od zarazu ale co z tego... Koszt czasowy i finansowy implementacji tej aplikacji pod CUDA jest za duzy a przede wszystkim niezgodny z zalozeniami. Mamy przetestowac konkretna implementacje a wiec napisana w konkretnym jezyku. Jesli zmienimy nasza aplikacje, musimy od nowa leciec cala serie testow.
Jedyne logiczne rozwiazanie dla nas to bedzie to co robi Google, Amazon i wiele innych firm - cluster tzw "commodity hardware" czyli najprostsze "najtansze" komputery (a nie jakies wypasione bestie) ale duuuuzo :P i rozlozenie zadania na tych komputerach. Poza tym samo biuro tez ma kilkadziesiat maszyn, wiele ma po 2 rdzenie, niektore sa 64bit nawet i te desktopy chodza 24/7/365 a nic nie robia w nocy i w weekendy, wiec mozna na nich puscic obliczenia. To zwieksza ilosc rdzeni jakie mam dostepne do obliczen w poczatkowej fazie do okolo 120.
Uyzwajac jednego rdzenia na procku Intel(R) Pentium(R) 4 CPU 3.20GHz (6383.99 bogomips na rdzeniu) obliczenia jednej kompletnej rundy dla jednego zestawu parametrow beda trwaly ~5 dni 4 godziny 41 minut 10 sekund
Teraz tak... to jest jedena z okolo 7 implementacji tylko a ta jedna implementacja o ktorej mowie (kazda bedzie miala inna wydajnosc bo licza implementuja rozne modele statystyczne i rozna ilosc operacji sie tam odbywa) ma na szczescie TYLKO 9 mozliwych wartosci dla parametru wejsciowego - uffff... Tak wiec kompletne sprawdzenie tej jednej implementacji tego konkretnego modelu zajmie mi na tym jednym kompie
46 dni 18 godzin 10 minut 30 sekund