Programowanie współbieżne - Lista 6
Zadanie 1
Zrównoleglić program fnpeaks.c przy pomocy
Open MP. Uwaga: zadanie 1 z listy 2 polegało na zrównolegleniu
tego programu z użyciem semaforów. Tym razem należy użyć
Open MP (oczywiście można wykorzystać większość zmian zrobionych
w ramach zadania z listy 2).
Zadanie 2
Wielomiany reprezentujemy w postaci listy par (współczynnik, wykładnik).
Dokładniej odpowiednie wartości przechowujemy w tablicy typu int,
gdzie parzyste pozycje to współczynniki, zaś nieparzyste to wykładniki.
Mnożenie współczynników realizujemy modulo liczba pierwsza (która
jest częścią danych) -- zakładamy że liczba mieści się w zakresie int-a.
Zakładamy że wykładniki są uporządkowane (np. malejąco).
Zaimplementować procedurę równologłą mnożenia tak zapisanych
wielomianów. Kłopotliwą częścią problemu jest to że rozmiar
wyniku nie jest z góry znany. Ponadto trzeba we właściwym miejscu
uwzględniać produkty wielomianów. Prawdopodobnie naprostszym
rozwiązaniem jest użycie tablic mieszających (po jednej dla
wątku) do zbierania wyników częściowych. Tablice te powiększa
się w trakcie pracy o ile zachodzi taka potrzeba. Na koniec
łączy się i sortuje wynik.