Hi,
I report an a simple experiment because it took me some time to figure how to use multi-threading (OPT_ARBB_LEVEL=O3) with a simple kernel
which applies exp function to all elements of a vector.
The following vector kernel :
template
void exp_kernel(arbb::dense& X)
{
X = exp(X);
}
does not provide MT acceleration (with ARBB_OPT_LEVEL=O3) while the following one does:
template
void elementary_exp_kernel(T & Xi)
{
Xi = exp(Xi);
}
template
void map_exp_kernel(arbb::dense& X)
{
// X = exp(X);
arbb::map(elementary_exp_kernel)(X);
}