2
Repaアレイの並列mapM
との最近の作業ではGibbs sampling、RVar乱数生成にほぼ理想的なインターフェースを提供するものを活用しています。残念ながら、マップでモナディックアクションを使用できないため、Repaを使用できませんでした。 明らかにモナディックマップは一般的に並列化できませんがRVar、効果を安全に並列化できるモナドの少なくとも1つの例である可能性があります(少なくとも原則として、私はの内部動作にあまり精通していませんRVar)。 。つまり、次のようなものを書きたいのですが、 drawClass :: Sample -> RVar Class drawClass = ... drawClasses :: Array U DIM1 Sample -> RVar (Array U DIM1 Class) drawClasses samples = A.mapM drawClass samples どこにA.mapM似ているでしょう、 mapM :: ParallelMonad m => (a -> m b) -> Array r sh a -> m (Array r …