คำถามติดแท็ก repa

2
mapM แบบขนานบนอาร์เรย์ Repa
ในงานล่าสุดของฉันกับGibbs samplingฉันได้ใช้ประโยชน์อย่างRVarเต็มที่ซึ่งในมุมมองของฉันเป็นอินเทอร์เฟซที่เหมาะสำหรับการสร้างตัวเลขแบบสุ่ม น่าเศร้าที่ฉันไม่สามารถใช้ Repa ได้เนื่องจากไม่สามารถใช้การกระทำแบบ monadic ในแผนที่ได้ ในขณะที่แผนที่ monadic โดยทั่วไปไม่สามารถขนานกันได้อย่างชัดเจน แต่สำหรับฉันแล้วRVarอาจเป็นตัวอย่างของ monad อย่างน้อยหนึ่งตัวอย่างที่เอฟเฟกต์สามารถขนานกันได้อย่างปลอดภัย (อย่างน้อยตามหลักการฉันไม่คุ้นเคยกับการทำงานภายในของ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 …
โดยการใช้ไซต์ของเรา หมายความว่าคุณได้อ่านและทำความเข้าใจนโยบายคุกกี้และนโยบายความเป็นส่วนตัวของเราแล้ว
Licensed under cc by-sa 3.0 with attribution required.