R 3.4 и mclapply странное поведение — это ошибка?

Я не уверен, если это ошибка, поэтому я предпочитаю опубликовать ее здесь, прежде чем регистрировать.

После обновления с R 3.3.3 до R 3.4 я получаю следующее сообщение с mclapply:

Ошибка подтверждения в kmp_runtime.cpp (6480): __kmp_thread_pool == __null.
OMP: ошибка № 13: ошибка подтверждения в kmp_runtime.cpp (6480).
OMP: Подсказка: отправьте сообщение об ошибке с этим сообщением, используемыми командами компиляции и запуска и информацией о конфигурации компьютера, включая версии собственного компилятора и операционной системы. Более быстрый ответ будет получен путем включения всех источников программы. Информацию о том, как отправить этот вопрос, смотрите

Обратите внимание, что это поведение не присутствовало в R 3.3.3 на той же машине, и вся партия работала без ошибок. Также обратите внимание, что я попробовал это со всеми возможными значениями для enableJIT (X) с тем же результатом.

Партия (надеюсь) воспроизвести это здесь:

library(data.table)
load(file = "z.RData")
firmnames <- as.list(unique(z[, firm_name]))
f <- function(x, d = z) {
tmp <- d[dealid %in% unique(d[firm_name %in% x, dealid]), .(firm_name, firm_type, dealid, investment_year, investment_yearQ, round_number)][firm_name != x, ]
tmpY <- tmp[, .N, by = .(firm_type, investment_year, round_number)]
tmpQ <- tmp[, .N, by = .(firm_type, investment_yearQ, round_number)]
return(list(
firm_name = x,
by_year = tmpY,
by_quarter = tmpQ,
allroundsY = tmpY[, sum(N), by = .(firm_type, investment_year)],
allroundsQ = tmpQ[, sum(N), by = .(firm_type, investment_yearQ)]))
}
r <- mclapply(firmnames, f, mc.cores = detectCores(), mc.preschedule = FALSE)

Данные для воспроизводимого примера здесь:
https://www.dropbox.com/s/2enoeapu7jgcxwd/z.Rdata?dl=0

SessionInfo ():

R version 3.4.0 (2017-04-21)
Platform: x86_64-apple-darwin15.6.0 (64-bit)
Running under: macOS Sierra 10.12.4

Matrix products: default
BLAS: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRblas.0.dylib
LAPACK: /Library/Frameworks/R.framework/Versions/3.4/Resources/lib/libRlapack.dylib

locale:
[1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8

attached base packages:
[1] parallel  compiler  stats     graphics  grDevices utils     datasets  methods   base

other attached packages:
[1] data.table_1.10.4      numbers_0.6-6          microbenchmark_1.4-2.1 zoo_1.8-0              doParallel_1.0.10      iterators_1.0.8
[7] foreach_1.4.3          RSclient_0.7-3         stringi_1.1.5          stringr_1.2.0          lubridate_1.6.0        plyr_1.8.4

loaded via a namespace (and not attached):
[1] Rcpp_0.12.10     lattice_0.20-35  codetools_0.2-15 grid_3.4.0       gtable_0.2.0     magrittr_1.5     scales_0.4.1     ggplot2_2.2.1
[9] lazyeval_0.2.0   tools_3.4.0      munsell_0.4.3    colorspace_1.3-2 tibble_1.3.0

Заранее спасибо за помощь / подсказки,
Ян

РЕДАКТИРОВАТЬ: Небольшое редактирование, оказывается, что этот код не может действительно воспроизвести проблему … Однако я оставляю это здесь, следуя совету разработчика data.table, на тот случай, если кто-то еще посчитает это полезным.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]