const unsigned int nLength(1000000);
{
cout <<
"Test of \"Simple kernel\" function..." <<
flush;
auto vec1(acl::generateVEData<float>(
nLength,1u));
{
k << (res+=tempRes*tempRes+
rsqrt(.2*tempRes)+ 1./tempRes);
}
k << (vec1=res);
k.setup();
for(
unsigned int i(0); i<
nCycles; ++i)
k.compute();
std::cout<<
"Unoptimized: "<<timer.
realTime()<<endl;
return true;
}
{
cout <<
"Test of \"Simple kernel\" function..." <<
flush;
auto vec1(acl::generateVEData<float>(
nLength,1u));
{
}
k << (res+=tempRes[i]*tempRes[i]+
rsqrt(.2*tempRes[i])+ 1./tempRes[i]);
k << (vec1=res);
k.setup();
for(
unsigned int i(0); i<
nCycles; ++i)
k.compute();
std::cout<<
"UnoptimizedPlus: "<<timer.
realTime()<<endl;
return true;
}
{
cout <<
"Test of \"Simple kernel\" function..." <<
flush;
auto vec1(acl::generateVEData<float>(
nLength,1u));
{
k << (res+=tempRes*tempRes+
rsqrt(.2*tempRes)+ 1./tempRes);
}
k << (vec1=res);
k.setup();
for(
unsigned int i(0); i<
nCycles; ++i)
k.compute();
std::cout<<
"Optimized: "<<timer.
realTime()<<endl;
return true;
}
{
return 0;
}