Uczę się o równoległości i w jednym ćwiczeniu dostaję kilka algorytmów, które powinny poprawić wydajność. Jednym z nich jest generator sekwencji Fibonacciego:Równolegle generatora sekwencji Fibonacci
array[0] = 0;
array[1] = 1;
for (q = 2; q < MAX; q++) {
array[q] = array[q−1] + array[q−2];
}
Podejrzewam, że to nie może być optymalizowane (przez parallelization), ponieważ każda liczba zależy od dwóch poprzednich liczb (a więc pośrednio na wszystkich poprzednich numerów). Jak można to zrównoleglić?
Co robiłeś w swojej klasie do tej pory? – devnull
Fibonacci jest kiepskim wyborem do zrównoleglania, jak sądzę. Sprawdź to: http://trigonakis.com/blog/2011/02/27/parallelizing-simple-algorithms-fibonacci/ –
Jeśli nie możesz określić sąsiednich liczb Fibonacciego z wyprzedzeniem, jest mało prawdopodobne, że będziesz w stanie je zrównoleglić . – devnull