Repa Without Parallelization

Мне очень нравится интерфейс Repa , даже независимо от его возможностей параллелизма. И мне действительно нужно, чтобы массивы repa были последовательными, так как мои массивы относительно небольшие и распараллеливание на них бесполезно, даже вредно.

Однако я использую распараллеливание в своей программе с помощью parallel-io, поэтому я компилирую его с потоком и запускаю с + RTS -Nx . И это дает возможность распараллеливания для восстановления. Есть ли способ отключить функции параллелизма в repa?

Хм, пока я писал это, я понял, что вряд ли мне понадобится что-то другое, кроме DIM1 , поэтому, возможно, мне стоит переключиться на Vector . Но все же ответ на вопрос будет полезен.

Предупреждающее сообщение, которое я получаю при параллельном запуске:

Data.Array.Repa: Performing nested parallel computation sequentially.
  You've probably called the 'force' function while another instance was
  already running. This can happen if the second version was suspended due
  to lazy evaluation. Use 'deepSeqArray' to ensure that each array is fully
  evaluated before you 'force' the next one.

На самом деле в моем коде нет force .

7
задан Yrogirg 28 December 2011 в 11:47
поделиться