-
Notifications
You must be signed in to change notification settings - Fork 1k
Closed
Milestone
Description
Intel's compiler 2019 (Version 19.0.4.243 Build 20190416) seems to be allergic to setting the value of skip (forder.c:905) by calculation for its side-effect use in forder.c:922. It's probably optimized out because the second loop contains the same body without the skip condition.
Clearly a compiler bug and I reported this issue to the Intel guys.
However, to be more explicit I propose to calculate the value of skip afterwards and separate from the key counting.
# Minimal reproducible example
Any dataset with group size >256 should do.
# Output of sessionInfo()
> sessionInfo()
R version 3.6.0 (2019-04-26)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: openSUSE Leap 42.3
Matrix products: default
BLAS/LAPACK: /opt/intel/compilers_and_libraries_2019.4.243/linux/mkl/lib/intel64_lin/libmkl_intel_lp64.so
locale:
[1] LC_CTYPE=C.UTF-8 LC_NUMERIC=C LC_TIME=C
[4] LC_COLLATE=C LC_MONETARY=C LC_MESSAGES=C
[7] LC_PAPER=C LC_NAME=C LC_ADDRESS=C
[10] LC_TELEPHONE=C LC_MEASUREMENT=C LC_IDENTIFICATION=C
attached base packages:
[1] stats graphics grDevices utils datasets methods base
other attached packages:
[1] data.table_1.12.3
loaded via a namespace (and not attached):
[1] compiler_3.6.0
MichaelChirico and mattdowle
Metadata
Metadata
Assignees
Labels
No labels