Intel® Array Building Blocks (Archived)

Vector semantics less efficient that map one...


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 :


void exp_kernel(arbb::dense& X)


X = exp(X);


does not provide MT acceleration (with ARBB_OPT_LEVEL=O3) while the following one does:


void elementary_exp_kernel(T & Xi)


Xi = exp(Xi);



What's the key difference between ArBB1 and ArBB2 in monte-carlo

Hi,finance/monte-carlo sample gave me the results below on my Fedora 13, Core2 Duo E7400.---------------------------------------- Version Time(s) Speed Up C 1.440421 1.000 ArBB1 0.122123 11.795 ArBB2 0.517115 2.785 ----------------------------------------Overall performance of ArBB is excellent and surprising. However I cannot get why ArBB1 is much faster than ArBB2.

dense<f64> * scalar in arbb_random.h

Hi,When I changed "fptype" from float to double in samples/finance/monte-carlo/monte-carlo.h, the compile fails because operator* doesn't support dense-float operation.See line 283, 284 in randomlib/arbb_random.harbb::dense sqlln_u1 = sqrt(arbb::log(u1) * (arbb::f32)(-2));norm = sqlln_u1 * sin(u2 * (arbb::f32)(2 * PI));I want dense::operator* to handle float as operand as plain C does.Though, a quick workaround would be changing code as follows.arbb::dense sqlln_u1 = sqrt(arbb::log(u1) * (T)(-2));norm = sqlln_u1 * sin(u2 * (T)(2 * PI));Thanks,Ken

typo in spec-samples

Hi,I'm trying various sample codes in ArBB beta and found a typo in spec-samples.--- a/misc/spec-samples/permuteSample.cpp+++ b/misc/spec-samples/permuteSample.cpp@@ -527,7 +527,7 @@ void shuffle_001()void arbb_shuffle_002(dense src1Vec, dense src2Vec, dense& dstVec){- const usize grain(1);+ const usize grain(2); dstVec = shuffle(src1Vec, src2Vec, grain);}currently, arbb_shuffle_002 yields the same result as arbb_shuffle_001, which doesn't make sense.Thanks,Ken

ArBB in combination with TBB

Dear,I am applying a simple stencil using ArBB like in the heat diffusion example, but I do that inside a thread that is created with the Threading Building Blocks.This gives me the following run-time errorstd exception: Internal error: CTE_COMPILER_ERROR COMP_ERROR: Dynamic Compiler Internal ErrorI am assuming the problem is related with the TBB because without TBB threads or when i setexport ARBB_OPT_LEVEL=O2instead of O3 (O2 does not do threading in ArBB) it works (although quite slow).Is it possible to use ArBB inside TBB threads?Do you have any hints?I am just starting to experiment wi

Segmentation faults in Tutorial example heat diffusion

Dear All,

I've played around with the heat example provided in the tutorial.

However, when I increased the domain size from 8 by 16 to

const unsigned int vec_height = 1024;
const unsigned int vec_width = 1024;
const unsigned int vec_size = vec_height * vec_width;

and remove the output at the end, I get segmentation faults.

Any Ideas?

SuperComputing 2010 - Come Talk to ArBB Architects and Engineers

Please come talk to members of the ArBB team at SuperComputing 2010 in New Orleans! Several of us will be there representing the following events

Half Day Tutorial
: Using Intel Array Building Blocks for Efficient Development of Multicore Applications

Monday, Nov. 15th from 8:30am-12:00pm Room 390

Intel Theater Talk: Productivity, Performance, and Portability - Intel Array Building Blocks

Tuesday, Nov. 16th from 4pm-4:30pm Intel Exhibitor Booth

user defined reductions

I would like to implement something similar to the classic image histogram algorithm.
Are there any samples showing how to do a histogram with ArBB?

It looks like histogram could be accomplished via arbb::add_merge(). Does that sound right or is there some better way to do this?

Other programming models have special constructsto enableuser defined reductions, for example TBB has "parallel_reduce" where you are able to define your ownmerge function. Does ArBB have something like this?

Subscribe to Intel® Array Building Blocks (Archived)