Lista zadań nr 3N

Ocena końcowa = 2 + suma uzyskanych punktów.

Zadanie 1 (1 pkt)

Zmodyfikuj kod transformujący współrzędne punktów (lista 1) w taki sposób, aby używał mapowania pamięci zamiast kopiowania danych pomiędzy hostem i urządzeniem. Powtórz pomiary, zbierz i zaprezentuj wyniki.

Zadanie 2 (2 pkt)

Jednym ze sposobów (rzadko stosowanym) obliczania wartości liczby π jest iloczyn nieskończony (tzw. iloczyn Wallisa) o poniższej postaci:



Twoim zadaniem jest:
  1. Napisanie kodu, który w sposób sekwencyjny, działając wyłącznie w ramach hosta, oblicza wartość π z dokładnością eps (eps jest parametrem progamu, a interpretuje się go jako maksymalną akceptowalną różnicę pomiędzy dwoma kolejnym przybliżeniami - jeśli wartość bezwzględna tej różnicy jest mniejsza od eps, kończy się obliczenia); zmierz czas obliczeń. Kod ten powinien również obliczyć liczbę iteracji potrzebną do uzyskania zamierzonej dokładności.
  2. Napisanie kodu, który oblicza wartość π równolegle, działając w wykorzystaniem sprzętu urządzenia CUDA; załóż, że: