Fast slope algorithm with the use of vectorization and parallelization for multicore architectures
Artykuł w czasopiśmie
MNiSW
100
Lista 2024
Status: | |
Autorzy: | Bylina Beata, Bylina Jarosław, Chabudziński Łukasz, Karpowicz Karol, Klisowski Michał, Oleszczuk Piotr, Potiopa Joanna, Stpiczyński Przemysław |
Dyscypliny: | |
Aby zobaczyć szczegóły należy się zalogować. | |
Rok wydania: | 2024 |
Wersja dokumentu: | Drukowana | Elektroniczna |
Język: | angielski |
Numer czasopisma: | 3 |
Wolumen/Tom: | 28 |
Strony: | 145 - 175 |
Impact Factor: | 2,2 |
Web of Science® Times Cited: | 0 |
Scopus® Cytowania: | 0 |
Bazy: | Web of Science | Scopus |
Efekt badań statutowych | NIE |
Materiał konferencyjny: | NIE |
Publikacja OA: | TAK |
Licencja: | |
Sposób udostępnienia: | Witryna wydawcy |
Wersja tekstu: | Ostateczna wersja opublikowana |
Czas opublikowania: | W momencie opublikowania |
Data opublikowania w OA: | 7 lipca 2023 |
Abstrakty: | angielski |
The slope calculation algorithm is one of the most widely used geospatial algorithms employing the 3x3 moving window technique (along with calculation of aspect, curvature and flow direction). This work presents an approach consisting of transforming a slope algorithm from a sequential form into a version that can exploit vector and parallel traits of multicore architectures with vector instructions. This approach allows us to take advantage of the potential of the modern multicore processors. The basic idea for optimizing the 3x3 moving window computation is to split the equation used to calculate the result into parts that operate on data that are known to exist in adjacent memory locations. The research was conducted on two multicore architectures without the change in the code — the older architecture was Sandy Bridge and the newer one was Haswell (with more cores). The efficiency of the developed slope algorithm was verified in practice with the use of DEM files of the same resolution but of different sizes. We showed through the numerical experiments that our approach gives better time performance than the original algorithm (and other tools) — and with no loss of accuracy. |