mirror of
https://github.com/paboyle/Grid.git
synced 2025-06-13 20:57:06 +01:00
Modified entire test directory to suit new GPU constructs for looping
This commit is contained in:
@ -101,7 +101,7 @@ int main (int argc, char ** argv)
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
auto U_v = U.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach( i,mom_v,{
|
||||
Uprime_v[i](mu) =
|
||||
U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
|
@ -111,12 +111,11 @@ int main (int argc, char ** argv)
|
||||
|
||||
// fourth order exponential approx
|
||||
|
||||
#if 0
|
||||
auto mom_v = mom.View();
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach( i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
@ -126,22 +125,6 @@ int main (int argc, char ** argv)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt*dt*dt*dt/720.0)
|
||||
;
|
||||
});
|
||||
#else
|
||||
auto mom_v = mom.View();
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
accelerator_loop( i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt/6.0)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt*dt/24.0)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt*dt*dt/120.0)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt*dt*dt*dt/720.0)
|
||||
;
|
||||
});
|
||||
#endif
|
||||
}
|
||||
|
||||
Ddwf.ImportGauge(Uprime);
|
||||
|
@ -114,7 +114,7 @@ int main (int argc, char** argv)
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -123,7 +123,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -118,7 +118,7 @@ int main (int argc, char** argv)
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -88,7 +88,7 @@ int main (int argc, char ** argv)
|
||||
auto Uprime_v = Uprime.View();
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{ // exp(pmu dt) * Umu
|
||||
thread_foreach(i,mom_v,{ // exp(pmu dt) * Umu
|
||||
Uprime_v[i](mu) = U_v[i](mu) + mom_v[i](mu)*U_v[i](mu)*dt ;
|
||||
});
|
||||
}
|
||||
|
@ -90,7 +90,7 @@ int main (int argc, char ** argv)
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v= Uprime.View();
|
||||
auto U_v = U.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{ // exp(pmu dt) * Umu
|
||||
thread_foreach(i,mom_v,{ // exp(pmu dt) * Umu
|
||||
Uprime_v[i](mu) = U_v[i](mu) + mom_v[i](mu)*U_v[i](mu)*dt ;
|
||||
});
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -103,7 +103,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -104,7 +104,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -116,7 +116,7 @@ int main (int argc, char** argv)
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -119,7 +119,7 @@ int main (int argc, char** argv)
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
// fourth order exponential approx
|
||||
thread_loop( (auto i=mom_v.begin(); i<mom_v.end(); i++),{
|
||||
thread_foreach( i, mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu) + mom_v[i](mu)*U_v[i](mu)*dt + mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt/6.0)
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt*dt*dt/24.0)
|
||||
|
@ -104,7 +104,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
@ -89,7 +89,7 @@ int main (int argc, char ** argv)
|
||||
auto Uprime_v = Uprime.View();
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{ // exp(pmu dt) * Umu
|
||||
thread_foreach(i,mom_v,{ // exp(pmu dt) * Umu
|
||||
Uprime_v[i](mu) = U_v[i](mu) + mom_v[i](mu)*U_v[i](mu)*dt ;
|
||||
});
|
||||
}
|
||||
|
@ -108,7 +108,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++) ,{
|
||||
thread_foreach( i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu);
|
||||
Uprime_v[i](mu) += mom_v[i](mu)*U_v[i](mu)*dt ;
|
||||
Uprime_v[i](mu) += mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0);
|
||||
|
@ -29,7 +29,6 @@ Author: Peter Boyle <paboyle@ph.ed.ac.uk>
|
||||
|
||||
using namespace std;
|
||||
using namespace Grid;
|
||||
using namespace Grid::QCD;
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
@ -109,7 +108,7 @@ int main(int argc, char **argv)
|
||||
auto Uprime_v = Uprime.View();
|
||||
auto U_v = U.View();
|
||||
auto mom_v = mom.View();
|
||||
thread_loop( (int ss = 0; ss < mom.Grid()->oSites(); ss++),
|
||||
thread_foreach(ss,mom_v,
|
||||
{
|
||||
Uprime_v[ss]._internal[mu] = ProjectOnGroup(Exponentiate(mom_v[ss]._internal[mu], dt, 12) * U_v[ss]._internal[mu]);
|
||||
});
|
||||
|
@ -118,7 +118,7 @@ int main (int argc, char ** argv)
|
||||
auto U_v = U.View();
|
||||
auto Uprime_v = Uprime.View();
|
||||
|
||||
thread_loop( (auto i=mom_v.begin();i<mom_v.end();i++),{
|
||||
thread_foreach(i,mom_v,{
|
||||
Uprime_v[i](mu) = U_v[i](mu)
|
||||
+ mom_v[i](mu)*U_v[i](mu)*dt
|
||||
+ mom_v[i](mu) *mom_v[i](mu) *U_v[i](mu)*(dt*dt/2.0)
|
||||
|
Reference in New Issue
Block a user