"fireking" by cmyk1219 1. 概要 reduceとscanはGPGPUなどの並列環境下において重要な役割を果たす関数だけど、あまりこれらの関数、特にscanについて言及している記事はあまり見かけない。なので今回はreduceとscanについて調べた結果をまとめていきたいと思う。 2. reduce, scan関数の概要 2.1. reduce scanについてはreduceが分かればより理解しやすくなるので、ひとまずはreduceから始めることにする。 reduceとは、端的に言うと、対象のリストを与えられた二項演算子で纏め上げる関数だ。とは言っても、いきなりそんなことを言われてもよく分からない。まずは例を見ていこう: >>> import operator >>> reduce(operator.add, [1, 2, 3, 4, 5]) 15 >>> reduce
![並列環境におけるreduceとscanアルゴリズム](https://cdn-ak-scissors.b.st-hatena.com/image/square/b77f5ebe03db8850dd64ecf1165a669af700b0f3/height=288;version=1;width=512/http%3A%2F%2F1.bp.blogspot.com%2F-MEW_KtXY3Oo%2FTaxk9HVs47I%2FAAAAAAAAA9s%2FA8ejQkgK3wI%2Fw1200-h630-p-k-no-nu%2Ffireking.jpg)