-
Notifications
You must be signed in to change notification settings - Fork 226
Description
Vectorization for calculations of mean/variance in random forests was recently added with this PR:
#3362
It doesn't quite work like the rest of the vectorized codepaths, as it involves non-trivial reductions and keeping of aggregates that require knowing the size of the simd lanes apriori:
oneDAL/cpp/daal/src/algorithms/dtrees/forest/regression/df_regression_train_dense_default_impl.i
Line 180 in 97f37b5
| #if (__CPUID__(DAAL_CPU) == __avx512__) |
I guess that perhaps other architectures might have instructions that could be used to vectorize those operations, but I am not familiar with them so I made the PR to only use vectorized paths on x86, with different parameters for avx2 and avx512 according to what they can do.
Aim of this issue is to add vectorization for other architectures that might support it, with conditional ifdefs to make them use the right constants.