From cab602045ebc74be24b01626168de445c34be7f9 Mon Sep 17 00:00:00 2001 From: "Steven J. Plimpton" Date: Fri, 18 May 2018 08:37:29 -0600 Subject: [PATCH 01/17] tweaks to doc pages --- doc/src/pair_gw.txt | 9 +++---- doc/src/pair_reaxc.txt | 54 +++++++++++++++++++++++------------------- doc/src/pair_sw.txt | 4 ++-- 3 files changed, 36 insertions(+), 31 deletions(-) diff --git a/doc/src/pair_gw.txt b/doc/src/pair_gw.txt index fcf63b1bc4..8f1251cf1f 100644 --- a/doc/src/pair_gw.txt +++ b/doc/src/pair_gw.txt @@ -95,9 +95,9 @@ This pair style can only be used via the {pair} keyword of the [Restrictions:] -This pair style is part of the USER-MISC package. It is only enabled -if LAMMPS was built with that package. See -the "Making LAMMPS"_Section_start.html#start_3 section for more info. +This pair style is part of the MANYBODY package. It is only enabled if +LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. This pair style requires the "newton"_newton.html setting to be "on" for pair interactions. @@ -117,4 +117,5 @@ appropriate units if your simulation doesn't use "metal" units. :line :link(Gao) -[(Gao)] Gao and Weber, Nuclear Instruments and Methods in Physics Research B 191 (2012) 504. +[(Gao)] Gao and Weber, Nuclear Instruments and Methods in Physics +Research B 191 (2012) 504. diff --git a/doc/src/pair_reaxc.txt b/doc/src/pair_reaxc.txt index b9dc6e0ed8..39759b3111 100644 --- a/doc/src/pair_reaxc.txt +++ b/doc/src/pair_reaxc.txt @@ -47,13 +47,14 @@ the "(Aktulga)"_#Aktulga paper. The {reax/c} style was initially implemented as a stand-alone C code and is now integrated into LAMMPS as a package. -The {reax/c/kk} style is a Kokkos version of the ReaxFF potential that is -derived from the {reax/c} style. The Kokkos version can run on GPUs and -can also use OpenMP multithreading. For more information about the Kokkos package, -see "Section 4"_Section_packages.html#kokkos and "Section 5.3.3"_accelerate_kokkos.html. -One important consideration when using the {reax/c/kk} style is the choice of either -half or full neighbor lists. This setting can be changed using the Kokkos "package"_package.html -command. +The {reax/c/kk} style is a Kokkos version of the ReaxFF potential that +is derived from the {reax/c} style. The Kokkos version can run on GPUs +and can also use OpenMP multithreading. For more information about the +Kokkos package, see "Section 4"_Section_packages.html#kokkos and +"Section 5.3.3"_accelerate_kokkos.html. One important consideration +when using the {reax/c/kk} style is the choice of either half or full +neighbor lists. This setting can be changed using the Kokkos +"package"_package.html command. The {reax/c} style differs from the "pair_style reax"_pair_reax.html command in the lo-level implementation details. The {reax} style is a @@ -80,9 +81,8 @@ parameterizations for different classes of materials. You can submit a contact request at the Materials Computation Center (MCC) website "https://www.mri.psu.edu/materials-computation-center/connect-mcc"_https://www.mri.psu.edu/materials-computation-center/connect-mcc, describing the material(s) you are interested in modeling with ReaxFF. -They can tell -you what is currently available or what it would take to create a -suitable ReaxFF parameterization. +They can tell you what is currently available or what it would take to +create a suitable ReaxFF parameterization. The {cfile} setting can be specified as NULL, in which case default settings are used. A control file can be specified which defines @@ -120,28 +120,31 @@ assign to each atom will be used for computing the electrostatic interactions in the system. See the "fix qeq/reax"_fix_qeq_reax.html command for details. -Using the optional keyword {lgvdw} with the value {yes} turns on -the low-gradient correction of the ReaxFF/C for long-range -London Dispersion, as described in the "(Liu)"_#Liu_2011 paper. Force field +Using the optional keyword {lgvdw} with the value {yes} turns on the +low-gradient correction of the ReaxFF/C for long-range London +Dispersion, as described in the "(Liu)"_#Liu_2011 paper. Force field file {ffield.reax.lg} is designed for this correction, and is trained for several energetic materials (see "Liu"). When using lg-correction, recommended value for parameter {thb} is 0.01, which can be set in the control file. Note: Force field files are different for the original -or lg corrected pair styles, using wrong ffield file generates an error message. +or lg corrected pair styles, using wrong ffield file generates an +error message. Using the optional keyword {enobonds} with the value {yes}, the energy of atoms with no bonds (i.e. isolated atoms) is included in the total potential energy and the per-atom energy of that atom. If the value -{no} is specified then the energy of atoms with no bonds is set to zero. -The latter behavior is usual not desired, as it causes discontinuities -in the potential energy when the bonding of an atom drops to zero. +{no} is specified then the energy of atoms with no bonds is set to +zero. The latter behavior is usual not desired, as it causes +discontinuities in the potential energy when the bonding of an atom +drops to zero. Optional keywords {safezone} and {mincap} are used for allocating -reax/c arrays. Increasing these values can avoid memory problems, such -as segmentation faults and bondchk failed errors, that could occur under -certain conditions. These keywords aren't used by the Kokkos version, which -instead uses a more robust memory allocation scheme that checks if the sizes of -the arrays have been exceeded and automatically allocates more memory. +reax/c arrays. Increasing these values can avoid memory problems, +such as segmentation faults and bondchk failed errors, that could +occur under certain conditions. These keywords aren't used by the +Kokkos version, which instead uses a more robust memory allocation +scheme that checks if the sizes of the arrays have been exceeded and +automatically allocates more memory. The thermo variable {evdwl} stores the sum of all the ReaxFF potential energy contributions, with the exception of the Coulombic and charge @@ -153,7 +156,8 @@ This pair style tallies a breakdown of the total ReaxFF potential energy into sub-categories, which can be accessed via the "compute pair"_compute_pair.html command as a vector of values of length 14. The 14 values correspond to the following sub-categories (the variable -names in italics match those used in the original FORTRAN ReaxFF code): +names in italics match those used in the original FORTRAN ReaxFF +code): {eb} = bond energy {ea} = atom energy @@ -340,8 +344,8 @@ reax"_pair_reax.html [Default:] -The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no, safezone = 1.2, -mincap = 50. +The keyword defaults are checkqeq = yes, enobonds = yes, lgvdw = no, +safezone = 1.2, mincap = 50. :line diff --git a/doc/src/pair_sw.txt b/doc/src/pair_sw.txt index 6ed8f00236..4932fe55d3 100644 --- a/doc/src/pair_sw.txt +++ b/doc/src/pair_sw.txt @@ -192,8 +192,8 @@ This pair style can only be used via the {pair} keyword of the [Restrictions:] This pair style is part of the MANYBODY package. It is only enabled -if LAMMPS was built with that package. See -the "Making LAMMPS"_Section_start.html#start_3 section for more info. +if LAMMPS was built with that package. See the "Making +LAMMPS"_Section_start.html#start_3 section for more info. This pair style requires the "newton"_newton.html setting to be "on" for pair interactions. -- GitLab From 5daf1fe0d411a70b78c957659fd91e0be81c1b19 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 18 May 2018 17:43:18 -0400 Subject: [PATCH 02/17] remove deprecated 'register' keyword. closes #922 --- src/DIPOLE/pair_lj_long_dipole_long.cpp | 30 ++-- src/KSPACE/ewald_disp.cpp | 72 +++++----- src/KSPACE/pair_buck_long_coul_long.cpp | 102 +++++++------- src/KSPACE/pair_lj_long_coul_long.cpp | 100 +++++++------- src/KSPACE/pair_lj_long_tip4p_long.cpp | 72 +++++----- src/OPT/pair_lj_long_coul_long_opt.cpp | 70 +++++----- src/USER-MISC/pair_edip.cpp | 2 +- src/USER-MISC/pair_edip_multi.cpp | 2 +- src/USER-OMP/pair_buck_long_coul_long_omp.cpp | 88 ++++++------ src/USER-OMP/pair_edip_omp.cpp | 2 +- src/USER-OMP/pair_lj_long_coul_long_omp.cpp | 88 ++++++------ src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp | 72 +++++----- src/math_complex.h | 6 +- src/math_vector.h | 8 +- src/pack.h | 128 +++++++++--------- src/pair.cpp | 4 +- 16 files changed, 423 insertions(+), 423 deletions(-) diff --git a/src/DIPOLE/pair_lj_long_dipole_long.cpp b/src/DIPOLE/pair_lj_long_dipole_long.cpp index 1635bd4f63..21fc035854 100644 --- a/src/DIPOLE/pair_lj_long_dipole_long.cpp +++ b/src/DIPOLE/pair_lj_long_dipole_long.cpp @@ -452,7 +452,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) ni = sbmask(j); // special index j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -463,9 +463,9 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) if (order3 && (rsq < cut_coulsq)) { // dipole memcpy(muj, jmu = mu0+(j<<2), sizeof(vector)); { // series real space - register double r = sqrt(rsq); - register double x = g_ewald*r; - register double f = exp(-x*x)*qqrd2e; + double r = sqrt(rsq); + double x = g_ewald*r; + double f = exp(-x*x)*qqrd2e; B0 = 1.0/(1.0+EWALD_P*x); // eqn 2.8 B0 *= ((((A5*B0+A4)*B0+A3)*B0+A2)*B0+A1)*f/r; @@ -524,8 +524,8 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) if (rsq < cut_ljsqi[typej]) { // lj if (order6) { // long-range lj - register double rn = r2inv*r2inv*r2inv; - register double x2 = g2*rsq, a2 = 1.0/x2; + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni < 0) { force_lj = @@ -533,7 +533,7 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) if (eflag) evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]; if (eflag) evdwl = @@ -541,13 +541,13 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) } } else { // cut lj - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni < 0) { force_lj = rn*(rn*lj1i[typej]-lj2i[typej]); if (eflag) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej]); if (eflag) evdwl = f*( rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -559,14 +559,14 @@ void PairLJLongDipoleLong::compute(int eflag, int vflag) fpair = force_coul+force_lj; // force if (newton_pair || j < nlocal) { - register double *fj = f0+(j+(j<<1)); + double *fj = f0+(j+(j<<1)); fi[0] += fx = d[0]*fpair+force_d[0]; fj[0] -= fx; fi[1] += fy = d[1]*fpair+force_d[1]; fj[1] -= fy; fi[2] += fz = d[2]*fpair+force_d[2]; fj[2] -= fz; tqi[0] += mui[1]*ti[2]-mui[2]*ti[1]; // torque tqi[1] += mui[2]*ti[0]-mui[0]*ti[2]; tqi[2] += mui[0]*ti[1]-mui[1]*ti[0]; - register double *tqj = tq0+(j+(j<<1)); + double *tqj = tq0+(j+(j<<1)); tqj[0] += muj[1]*tj[2]-muj[2]*tj[1]; tqj[1] += muj[2]*tj[0]-muj[0]*tj[2]; tqj[2] += muj[0]*tj[1]-muj[1]*tj[0]; @@ -608,9 +608,9 @@ double PairLJLongDipoleLong::single(int i, int j, int itype, int jtype, double G0, G1, G2, B0, B1, B2, B3, mudi, mudj, muij; vector d = {xi[0]-xj[0], xi[1]-xj[1], xi[2]-xj[2]}; { // series real space - register double r = sqrt(rsq); - register double x = g_ewald*r; - register double f = exp(-x*x)*qqrd2e; + double r = sqrt(rsq); + double x = g_ewald*r; + double f = exp(-x*x)*qqrd2e; B0 = 1.0/(1.0+EWALD_P*x); // eqn 2.8 B0 *= ((((A5*B0+A4)*B0+A3)*B0+A2)*B0+A1)*f/r; @@ -644,7 +644,7 @@ double PairLJLongDipoleLong::single(int i, int j, int itype, int jtype, if (rsq < cut_ljsq[itype][jtype]) { // lennard-jones r6inv = r2inv*r2inv*r2inv; if (ewald_order&0x40) { // long-range - register double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_lj); + double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_lj); x2 = a2*exp(-x2)*lj4[itype][jtype]; force_lj = factor_lj*(r6inv *= r6inv)*lj1[itype][jtype]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+a2)*x2*rsq+t*lj2[itype][jtype]; diff --git a/src/KSPACE/ewald_disp.cpp b/src/KSPACE/ewald_disp.cpp index 8cdaa044aa..78d7b38e4d 100644 --- a/src/KSPACE/ewald_disp.cpp +++ b/src/KSPACE/ewald_disp.cpp @@ -778,7 +778,7 @@ void EwaldDisp::compute_ek() cek->re += zxyz.re*ci[i]; (cek++)->im += zxyz.im*ci[i]; } if (func[3]) { - register double muk = mui[0]*h->x+mui[1]*h->y+mui[2]*h->z; ++h; + double muk = mui[0]*h->x+mui[1]*h->y+mui[2]*h->z; ++h; cek->re += zxyz.re*muk; (cek++)->im += zxyz.im*muk; } } @@ -819,7 +819,7 @@ void EwaldDisp::compute_force() cek = cek_global; memset(sum, 0, EWALD_MAX_NSUMS*sizeof(vector)); if (func[3]) { - register double di = c[3]; + double di = c[3]; mui[0] = di*(mu++)[0]; mui[1] = di*(mu++)[0]; mui[2] = di*(mu++)[0]; mu++; } @@ -830,33 +830,33 @@ void EwaldDisp::compute_force() } C_CRMULT(zc, z[k->z].z, zxy); if (func[0]) { // 1/r - register double im = *(ke++)*(zc.im*cek->re+cek->im*zc.re); + double im = *(ke++)*(zc.im*cek->re+cek->im*zc.re); if (func[3]) cek_coul = cek; ++cek; sum[0][0] += h->x*im; sum[0][1] += h->y*im; sum[0][2] += h->z*im; } if (func[1]) { // geometric 1/r^6 - register double im = *(ke++)*(zc.im*cek->re+cek->im*zc.re); ++cek; + double im = *(ke++)*(zc.im*cek->re+cek->im*zc.re); ++cek; sum[1][0] += h->x*im; sum[1][1] += h->y*im; sum[1][2] += h->z*im; } if (func[2]) { // arithmetic 1/r^6 - register double im, c = *(ke++); + double im, c = *(ke++); for (i=2; i<9; ++i) { im = c*(zc.im*cek->re+cek->im*zc.re); ++cek; sum[i][0] += h->x*im; sum[i][1] += h->y*im; sum[i][2] += h->z*im; } } if (func[3]) { // dipole - register double im = *(ke)*(zc.im*cek->re+ + double im = *(ke)*(zc.im*cek->re+ cek->im*zc.re)*(mui[0]*h->x+mui[1]*h->y+mui[2]*h->z); - register double im2 = *(ke)*(zc.re*cek->re- + double im2 = *(ke)*(zc.re*cek->re- cek->im*zc.im); sum[9][0] += h->x*im; sum[9][1] += h->y*im; sum[9][2] += h->z*im; t[0] += -mui[1]*h->z*im2 + mui[2]*h->y*im2; // torque t[1] += -mui[2]*h->x*im2 + mui[0]*h->z*im2; t[2] += -mui[0]*h->y*im2 + mui[1]*h->x*im2; if (func[0]) { // charge-dipole - register double qi = *(q)*c[0]; + double qi = *(q)*c[0]; im = - *(ke)*(zc.re*cek_coul->re - cek_coul->im*zc.im)*(mui[0]*h->x+mui[1]*h->y+mui[2]*h->z); im += *(ke)*(zc.re*cek->re - cek->im*zc.im)*qi; @@ -873,17 +873,17 @@ void EwaldDisp::compute_force() } } if (func[0]) { // 1/r - register double qi = *(q++)*c[0]; + double qi = *(q++)*c[0]; f[0] -= sum[0][0]*qi; f[1] -= sum[0][1]*qi; f[2] -= sum[0][2]*qi; } if (func[1]) { // geometric 1/r^6 - register double bi = B[*type]*c[1]; + double bi = B[*type]*c[1]; f[0] -= sum[1][0]*bi; f[1] -= sum[1][1]*bi; f[2] -= sum[1][2]*bi; } if (func[2]) { // arithmetic 1/r^6 - register double *bi = B+7*type[0]+7; + double *bi = B+7*type[0]+7; for (i=2; i<9; ++i) { - register double c2 = (--bi)[0]*c[2]; + double c2 = (--bi)[0]*c[2]; f[0] -= sum[i][0]*c2; f[1] -= sum[i][1]*c2; f[2] -= sum[i][2]*c2; } } @@ -962,7 +962,7 @@ void EwaldDisp::compute_energy() if (func[1]) { // geometric 1/r^6 sum[1] += *(ke++)*(cek->re*cek->re+cek->im*cek->im); ++cek; } if (func[2]) { // arithmetic 1/r^6 - register double r = + double r = (cek[0].re*cek[6].re+cek[0].im*cek[6].im)+ (cek[1].re*cek[5].re+cek[1].im*cek[5].im)+ (cek[2].re*cek[4].re+cek[2].im*cek[4].im)+ @@ -1013,7 +1013,7 @@ void EwaldDisp::compute_energy_peratom() cek = cek_global; memset(sum, 0, EWALD_MAX_NSUMS*sizeof(double)); if (func[3]) { - register double di = c[3]; + double di = c[3]; mui[0] = di*(mu++)[0]; mui[1] = di*(mu++)[0]; mui[2] = di*(mu++)[0]; mu++; } @@ -1031,7 +1031,7 @@ void EwaldDisp::compute_energy_peratom() if (func[1]) { // geometric 1/r^6 sum[1] += *(ke++)*(cek->re*zc.re - cek->im*zc.im); ++cek; } if (func[2]) { // arithmetic 1/r^6 - register double im, c = *(ke++); + double im, c = *(ke++); for (i=2; i<9; ++i) { im = c*(cek->re*zc.re - cek->im*zc.im); ++cek; sum[i] += im; @@ -1041,7 +1041,7 @@ void EwaldDisp::compute_energy_peratom() double muk = (mui[0]*h->x+mui[1]*h->y+mui[2]*h->z); sum[9] += *(ke)*(cek->re*zc.re - cek->im*zc.im)*muk; if (func[0]) { // charge-dipole - register double qj = *(q)*c[0]; + double qj = *(q)*c[0]; sum[9] += *(ke)*(cek_coul->im*zc.re + cek_coul->re*zc.im)*muk; sum[9] -= *(ke)*(cek->re*zc.im + cek->im*zc.re)*qj; } @@ -1051,17 +1051,17 @@ void EwaldDisp::compute_energy_peratom() } if (func[0]) { // 1/r - register double qj = *(q++)*c[0]; + double qj = *(q++)*c[0]; *eatomj += sum[0]*qj - energy_self_peratom[j][0]; } if (func[1]) { // geometric 1/r^6 - register double bj = B[*type]*c[1]; + double bj = B[*type]*c[1]; *eatomj += sum[1]*bj - energy_self_peratom[j][1]; } if (func[2]) { // arithmetic 1/r^6 - register double *bj = B+7*type[0]+7; + double *bj = B+7*type[0]+7; for (i=2; i<9; ++i) { - register double c2 = (--bj)[0]*c[2]; + double c2 = (--bj)[0]*c[2]; *eatomj += 0.5*sum[i]*c2; } *eatomj -= energy_self_peratom[j][2]; @@ -1097,19 +1097,19 @@ void EwaldDisp::compute_virial() memset(sum, 0, EWALD_NFUNCS*sizeof(shape)); for (int k=0; kre*cek->re+cek->im*cek->im; + double r = cek->re*cek->re+cek->im*cek->im; if (func[3]) cek_coul = cek; ++cek; sum[0][0] += *(kv++)*r; sum[0][1] += *(kv++)*r; sum[0][2] += *(kv++)*r; sum[0][3] += *(kv++)*r; sum[0][4] += *(kv++)*r; sum[0][5] += *(kv++)*r; } if (func[1]) { // geometric 1/r^6 - register double r = cek->re*cek->re+cek->im*cek->im; ++cek; + double r = cek->re*cek->re+cek->im*cek->im; ++cek; sum[1][0] += *(kv++)*r; sum[1][1] += *(kv++)*r; sum[1][2] += *(kv++)*r; sum[1][3] += *(kv++)*r; sum[1][4] += *(kv++)*r; sum[1][5] += *(kv++)*r; } if (func[2]) { // arithmetic 1/r^6 - register double r = + double r = (cek[0].re*cek[6].re+cek[0].im*cek[6].im)+ (cek[1].re*cek[5].re+cek[1].im*cek[5].im)+ (cek[2].re*cek[4].re+cek[2].im*cek[4].im)+ @@ -1118,12 +1118,12 @@ void EwaldDisp::compute_virial() sum[2][3] += *(kv++)*r; sum[2][4] += *(kv++)*r; sum[2][5] += *(kv++)*r; } if (func[3]) { - register double r = cek->re*cek->re+cek->im*cek->im; + double r = cek->re*cek->re+cek->im*cek->im; sum[3][0] += *(kv++)*r; sum[3][1] += *(kv++)*r; sum[3][2] += *(kv++)*r; sum[3][3] += *(kv++)*r; sum[3][4] += *(kv++)*r; sum[3][5] += *(kv++)*r; if (func[0]) { // charge-dipole kv -= 6; - register double r = 2.0*(cek->re*cek_coul->im - cek->im*cek_coul->re); + double r = 2.0*(cek->re*cek_coul->im - cek->im*cek_coul->re); sum[3][0] += *(kv++)*r; sum[3][1] += *(kv++)*r; sum[3][2] += *(kv++)*r; sum[3][3] += *(kv++)*r; sum[3][4] += *(kv++)*r; sum[3][5] += *(kv++)*r; } @@ -1173,7 +1173,7 @@ void EwaldDisp::compute_virial_dipole() cek = cek_global; memset(&sum[0], 0, 6*sizeof(double)); if (func[3]) { - register double di = c[3]; + double di = c[3]; mui[0] = di*(mu++)[0]; mui[1] = di*(mu++)[0]; mui[2] = di*(mu++)[0]; mu++; } @@ -1267,7 +1267,7 @@ void EwaldDisp::compute_virial_peratom() cek = cek_global; memset(sum, 0, EWALD_MAX_NSUMS*sizeof(shape)); if (func[3]) { - register double di = c[3]; + double di = c[3]; mui[0] = di*(mu++)[0]; mui[1] = di*(mu++)[0]; mui[2] = di*(mu++)[0]; mu++; } @@ -1279,7 +1279,7 @@ void EwaldDisp::compute_virial_peratom() C_CRMULT(zc, z[k->z].z, zxy); if (func[0]) { // 1/r if (func[3]) cek_coul = cek; - register double r = cek->re*zc.re - cek->im*zc.im; ++cek; + double r = cek->re*zc.re - cek->im*zc.im; ++cek; sum[0][0] += *(kv++)*r; sum[0][1] += *(kv++)*r; sum[0][2] += *(kv++)*r; @@ -1288,7 +1288,7 @@ void EwaldDisp::compute_virial_peratom() sum[0][5] += *(kv++)*r; } if (func[1]) { // geometric 1/r^6 - register double r = cek->re*zc.re - cek->im*zc.im; ++cek; + double r = cek->re*zc.re - cek->im*zc.im; ++cek; sum[1][0] += *(kv++)*r; sum[1][1] += *(kv++)*r; sum[1][2] += *(kv++)*r; @@ -1297,7 +1297,7 @@ void EwaldDisp::compute_virial_peratom() sum[1][5] += *(kv++)*r; } if (func[2]) { // arithmetic 1/r^6 - register double r; + double r; for (i=2; i<9; ++i) { r = cek->re*zc.re - cek->im*zc.im; ++cek; sum[i][0] += *(kv++)*r; @@ -1312,7 +1312,7 @@ void EwaldDisp::compute_virial_peratom() } if (func[3]) { // dipole double muk = (mui[0]*h->x+mui[1]*h->y+mui[2]*h->z); - register double + double r = (cek->re*zc.re - cek->im*zc.im)*muk; sum[9][0] += *(kv++)*r; sum[9][1] += *(kv++)*r; @@ -1322,7 +1322,7 @@ void EwaldDisp::compute_virial_peratom() sum[9][5] += *(kv++)*r; if (func[0]) { // charge-dipole kv -= 6; - register double qj = *(q)*c[0]; + double qj = *(q)*c[0]; r = (cek_coul->im*zc.re + cek_coul->re*zc.im)*muk; r += -(cek->re*zc.im + cek->im*zc.re)*qj; sum[9][0] += *(kv++)*r; sum[9][1] += *(kv++)*r; sum[9][2] += *(kv++)*r; @@ -1333,17 +1333,17 @@ void EwaldDisp::compute_virial_peratom() } if (func[0]) { // 1/r - register double qi = *(q++)*c[0]; + double qi = *(q++)*c[0]; for (int n = 0; n < 6; n++) vatomj[n] += sum[0][n]*qi; } if (func[1]) { // geometric 1/r^6 - register double bi = B[*type]*c[1]; + double bi = B[*type]*c[1]; for (int n = 0; n < 6; n++) vatomj[n] += sum[1][n]*bi; } if (func[2]) { // arithmetic 1/r^6 - register double *bj = B+7*type[0]+7; + double *bj = B+7*type[0]+7; for (i=2; i<9; ++i) { - register double c2 = (--bj)[0]*c[2]; + double c2 = (--bj)[0]*c[2]; for (int n = 0; n < 6; n++) vatomj[n] += 0.5*sum[i][n]*c2; } } diff --git a/src/KSPACE/pair_buck_long_coul_long.cpp b/src/KSPACE/pair_buck_long_coul_long.cpp index 55825b5657..d5bb7b6c5b 100644 --- a/src/KSPACE/pair_buck_long_coul_long.cpp +++ b/src/KSPACE/pair_buck_long_coul_long.cpp @@ -483,7 +483,7 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -494,25 +494,25 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) if (order1 && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double x = g_ewald*r; - register double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r; + double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s; if (eflag) ecoul = t; } else { // special case - register double f = s*(1.0-special_coul[ni])/r; + double f = s*(1.0-special_coul[ni])/r; s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-f; if (eflag) ecoul = t-f; } } // table real space else { - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (eflag) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -527,11 +527,11 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) else force_coul = ecoul = 0.0; if (rsq < cut_bucksqi[typej]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); if (order6) { // long-range if (!ndisptablebits || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*buckci[typej]; if (ni == 0) { force_buck = @@ -539,7 +539,7 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) if (eflag) evdwl = expr*buckai[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*buck2i[typej]; if (eflag) evdwl = f*expr*buckai[typej] - @@ -547,16 +547,16 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) } } else { //table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; if (ni == 0) { force_buck = r*expr*buck1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej]; if (eflag) evdwl = expr*buckai[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]; } else { //speial case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej] -(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej] +t*buck2i[typej]; if (eflag) evdwl = f*expr*buckai[typej] -(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]+t*buckci[typej]; } @@ -569,7 +569,7 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) rn*buckci[typej]-offseti[typej]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; force_buck = f*(r*expr*buck1i[typej]-rn*buck2i[typej]); if (eflag) evdwl = f*(expr*buckai[typej]-rn*buckci[typej]-offseti[typej]); @@ -581,7 +581,7 @@ void PairBuckLongCoulLong::compute(int eflag, int vflag) fpair = (force_coul+force_buck)*r2inv; if (newton_pair || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -640,7 +640,7 @@ void PairBuckLongCoulLong::compute_inner() ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -654,7 +654,7 @@ void PairBuckLongCoulLong::compute_inner() qri*q[j]/r : qri*q[j]/r*special_coul[ni]; if (rsq < cut_bucksqi[typej = type[j]]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); force_buck = ni == 0 ? (r*expr*buck1i[typej]-rn*buck2i[typej]) : @@ -665,12 +665,12 @@ void PairBuckLongCoulLong::compute_inner() fpair = (force_coul + force_buck) * r2inv; if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -730,7 +730,7 @@ void PairBuckLongCoulLong::compute_middle() ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -745,7 +745,7 @@ void PairBuckLongCoulLong::compute_middle() qri*q[j]/r : qri*q[j]/r*special_coul[ni]; if (rsq < cut_bucksqi[typej = type[j]]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); force_buck = ni == 0 ? (r*expr*buck1i[typej]-rn*buck2i[typej]) : @@ -756,16 +756,16 @@ void PairBuckLongCoulLong::compute_middle() fpair = (force_coul + force_buck) * r2inv; if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; fpair *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -831,7 +831,7 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -845,36 +845,36 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) respa_buck = 0.0; respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (r-cut_in_off)/cut_in_diff; + double rsw = (r-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } if (order1 && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double s = qri*q[j]; + double s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; if (eflag) ecoul = t; } else { // correct for special - register double ri = s*(1.0-special_coul[ni])/r; s *= g_ewald*exp(-x*x); + double ri = s*(1.0-special_coul[ni])/r; s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-ri-respa_coul; if (eflag) ecoul = t-ri; } } // table real space else { if (respa_flag) { - register double s = qri*q[j]; + double s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (eflag) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -892,14 +892,14 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) else force_coul = respa_coul = ecoul = 0.0; if (rsq < cut_bucksqi[typej]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); if (respa_flag) respa_buck = ni == 0 ? // correct for respa frespa*(r*expr*buck1i[typej]-rn*buck2i[typej]) : frespa*(r*expr*buck1i[typej]-rn*buck2i[typej])*special_lj[ni]; if (order6) { // long-range form if (!ndisptablebits || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*buckci[typej]; if (ni == 0) { force_buck = @@ -907,7 +907,7 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) if (eflag) evdwl = expr*buckai[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*buck2i[typej]-respa_buck; if (eflag) evdwl = f*expr*buckai[typej] - @@ -915,17 +915,17 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_buck = r*expr*buck1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej]-respa_buck; if (eflag) evdwl = expr*buckai[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]; } else { //special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej]+t*buck2i[typej]-respa_buck; if (eflag) evdwl = f*expr*buckai[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]+t*buckci[typej]; } @@ -938,7 +938,7 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) evdwl = expr*buckai[typej]-rn*buckci[typej]-offseti[typej]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; force_buck = f*(r*expr*buck1i[typej]-rn*buck2i[typej])-respa_buck; if (eflag) evdwl = f*(expr*buckai[typej]-rn*buckci[typej]-offseti[typej]); @@ -950,7 +950,7 @@ void PairBuckLongCoulLong::compute_outer(int eflag, int vflag) fpair = (force_coul+force_buck)*r2inv; if (newton_pair || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -985,17 +985,17 @@ double PairBuckLongCoulLong::single(int i, int j, int itype, int jtype, if ((ewald_order&2) && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double x = g_ewald*r; - register double s = force->qqrd2e*q[i]*q[j], t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r; + double s = force->qqrd2e*q[i]*q[j], t = 1.0/(1.0+EWALD_P*x); f = s*(1.0-factor_coul)/r; s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-f; eng += t-f; } else { // table real space - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = q[i]*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = q[i]*q[j]; t.f = (1.0-factor_coul)*(ctable[k]+f*dctable[k]); force_coul = qiqj*(ftable[k]+f*dftable[k]-t.f); eng += qiqj*(etable[k]+f*detable[k]-t.f); @@ -1003,10 +1003,10 @@ double PairBuckLongCoulLong::single(int i, int j, int itype, int jtype, } else force_coul = 0.0; if (rsq < cut_bucksq[itype][jtype]) { // buckingham - register double expr = factor_buck*exp(-sqrt(rsq)*rhoinv[itype][jtype]); + double expr = factor_buck*exp(-sqrt(rsq)*rhoinv[itype][jtype]); r6inv = r2inv*r2inv*r2inv; if (ewald_order&64) { // long-range - register double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_buck); + double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_buck); x2 = a2*exp(-x2)*buck_c[itype][jtype]; force_buck = buck1[itype][jtype]*r*expr- g8*(((6.0*a2+6.0)*a2+3.0)*a2+a2)*x2*rsq+t*buck2[itype][jtype]; diff --git a/src/KSPACE/pair_lj_long_coul_long.cpp b/src/KSPACE/pair_lj_long_coul_long.cpp index 32d6d9e0a3..2de527ab39 100644 --- a/src/KSPACE/pair_lj_long_coul_long.cpp +++ b/src/KSPACE/pair_lj_long_coul_long.cpp @@ -478,7 +478,7 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -488,8 +488,8 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) if (order1 && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), x = g_ewald*r; - register double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); + double r = sqrt(rsq), x = g_ewald*r; + double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s; @@ -502,10 +502,10 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) } } // table real space else { - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask)>>ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask)>>ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (eflag) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -522,8 +522,8 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) if (rsq < cut_ljsqi[typej]) { // lj if (order6) { // long-range lj if(!ndisptablebits || rsq <= tabinnerdispsq) { // series real space - register double rn = r2inv*r2inv*r2inv; - register double x2 = g2*rsq, a2 = 1.0/x2; + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni == 0) { force_lj = @@ -532,7 +532,7 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]; if (eflag) @@ -540,30 +540,30 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]; if (eflag) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]; if (eflag) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; } } } else { // cut lj - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = rn*(rn*lj1i[typej]-lj2i[typej]); if (eflag) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej]); if (eflag) evdwl = f * (rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -576,7 +576,7 @@ void PairLJLongCoulLong::compute(int eflag, int vflag) fpair = (force_coul+force_lj)*r2inv; if (newton_pair || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -635,7 +635,7 @@ void PairLJLongCoulLong::compute_inner() ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -650,7 +650,7 @@ void PairLJLongCoulLong::compute_inner() } if (rsq < cut_ljsqi[typej = type[j]]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; force_lj = ni == 0 ? rn*(rn*lj1i[typej]-lj2i[typej]) : rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; @@ -660,12 +660,12 @@ void PairLJLongCoulLong::compute_inner() fpair = (force_coul + force_lj) * r2inv; if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -725,7 +725,7 @@ void PairLJLongCoulLong::compute_middle() ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -739,7 +739,7 @@ void PairLJLongCoulLong::compute_middle() qri*q[j]*sqrt(r2inv) : qri*q[j]*sqrt(r2inv)*special_coul[ni]; if (rsq < cut_ljsqi[typej = type[j]]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; force_lj = ni == 0 ? rn*(rn*lj1i[typej]-lj2i[typej]) : rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; @@ -749,16 +749,16 @@ void PairLJLongCoulLong::compute_middle() fpair = (force_coul + force_lj) * r2inv; if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; fpair *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -823,7 +823,7 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -836,16 +836,16 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) respa_lj = 0; respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } if (order1 && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; @@ -859,13 +859,13 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) } // table real space else { if (respa_flag) { - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (eflag) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -884,13 +884,13 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) else force_coul = respa_coul = ecoul = 0.0; if (rsq < cut_ljsqi[typej]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (respa_flag) respa_lj = ni == 0 ? // correct for respa frespa*rn*(rn*lj1i[typej]-lj2i[typej]) : frespa*rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; if (order6) { // long-range form if (!ndisptablebits || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni == 0) { force_lj = @@ -898,7 +898,7 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) if (eflag) evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]-respa_lj; if (eflag) @@ -906,17 +906,17 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]-respa_lj; if (eflag) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]-respa_lj; if (eflag) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; } @@ -928,7 +928,7 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) if (eflag) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej])-respa_lj; if (eflag) evdwl = f*(rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -940,7 +940,7 @@ void PairLJLongCoulLong::compute_outer(int eflag, int vflag) fpair = (force_coul+force_lj)*r2inv; if (newton_pair || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -974,17 +974,17 @@ double PairLJLongCoulLong::single(int i, int j, int itype, int jtype, r2inv = 1.0/rsq; if ((ewald_order&2) && (rsq < cut_coulsq)) { // coulombic if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), x = g_ewald*r; - register double s = force->qqrd2e*q[i]*q[j], t = 1.0/(1.0+EWALD_P*x); + double r = sqrt(rsq), x = g_ewald*r; + double s = force->qqrd2e*q[i]*q[j], t = 1.0/(1.0+EWALD_P*x); r = s*(1.0-factor_coul)/r; s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-r; eng += t-r; } else { // table real space - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = q[i]*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = q[i]*q[j]; t.f = (1.0-factor_coul)*(ctable[k]+f*dctable[k]); force_coul = qiqj*(ftable[k]+f*dftable[k]-t.f); eng += qiqj*(etable[k]+f*detable[k]-t.f); @@ -994,7 +994,7 @@ double PairLJLongCoulLong::single(int i, int j, int itype, int jtype, if (rsq < cut_ljsq[itype][jtype]) { // lennard-jones r6inv = r2inv*r2inv*r2inv; if (ewald_order&64) { // long-range - register double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_lj); + double x2 = g2*rsq, a2 = 1.0/x2, t = r6inv*(1.0-factor_lj); x2 = a2*exp(-x2)*lj4[itype][jtype]; force_lj = factor_lj*(r6inv *= r6inv)*lj1[itype][jtype]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+a2)*x2*rsq+t*lj2[itype][jtype]; diff --git a/src/KSPACE/pair_lj_long_tip4p_long.cpp b/src/KSPACE/pair_lj_long_tip4p_long.cpp index 78316b9daa..a571e30fc3 100644 --- a/src/KSPACE/pair_lj_long_tip4p_long.cpp +++ b/src/KSPACE/pair_lj_long_tip4p_long.cpp @@ -190,8 +190,8 @@ void PairLJLongTIP4PLong::compute(int eflag, int vflag) r2inv = 1.0/rsq; if (order6) { // long-range lj if (!ndisptablebits || rsq <= tabinnerdispsq) { - register double rn = r2inv*r2inv*r2inv; - register double x2 = g2*rsq, a2 = 1.0/x2; + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[jtype]; if (ni == 0) { forcelj = @@ -200,7 +200,7 @@ void PairLJLongTIP4PLong::compute(int eflag, int vflag) evdwl = rn*lj3i[jtype]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[jtype]; if (eflag) @@ -208,30 +208,30 @@ void PairLJLongTIP4PLong::compute(int eflag, int vflag) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { forcelj = (rn*=rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]; if (eflag) evdwl = rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]+t*lj2i[jtype]; if (eflag) evdwl = f*rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]+t*lj4i[jtype]; } } } else { // cut lj - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { forcelj = rn*(rn*lj1i[jtype]-lj2i[jtype]); if (eflag) evdwl = rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype]); if (eflag) evdwl = f * (rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]); @@ -573,15 +573,15 @@ void PairLJLongTIP4PLong::compute_inner() if (rsq < cut_ljsq[itype][jtype] && rsq < cut_out_off_sq ) { // lj r2inv = 1.0/rsq; - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) forcelj = rn*(rn*lj1i[jtype]-lj2i[jtype]); else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype]); } if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcelj *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -642,7 +642,7 @@ void PairLJLongTIP4PLong::compute_inner() } if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcecoul *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -826,19 +826,19 @@ void PairLJLongTIP4PLong::compute_middle() if (rsq < cut_ljsq[itype][jtype] && rsq >= cut_in_off_sq && rsq <= cut_out_off_sq ) { // lj r2inv = 1.0/rsq; - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) forcelj = rn*(rn*lj1i[jtype]-lj2i[jtype]); else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype]); } if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; forcelj *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcelj *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -899,11 +899,11 @@ void PairLJLongTIP4PLong::compute_middle() } if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; forcecoul *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcecoul *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -1112,18 +1112,18 @@ void PairLJLongTIP4PLong::compute_outer(int eflag, int vflag) frespa = 1.0; // check whether and how to compute respa corrections respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } r2inv = 1.0/rsq; - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (respa_flag) respa_lj = ni == 0 ? // correct for respa frespa*rn*(rn*lj1i[jtype]-lj2i[jtype]) : frespa*rn*(rn*lj1i[jtype]-lj2i[jtype])*special_lj[ni]; if (order6) { // long-range form if (!ndisptablebits || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[jtype]; if (ni == 0) { forcelj = @@ -1131,7 +1131,7 @@ void PairLJLongTIP4PLong::compute_outer(int eflag, int vflag) if (eflag) evdwl = rn*lj3i[jtype]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[jtype]-respa_lj; if (eflag) @@ -1139,16 +1139,16 @@ void PairLJLongTIP4PLong::compute_outer(int eflag, int vflag) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; if (ni == 0) { forcelj = (rn*=rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]-respa_lj; if (eflag) evdwl = rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]+t*lj2i[jtype]-respa_lj; if (eflag) evdwl = f*rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]+t*lj4i[jtype]; } @@ -1160,7 +1160,7 @@ void PairLJLongTIP4PLong::compute_outer(int eflag, int vflag) if (eflag) evdwl = rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype])-respa_lj; if (eflag) evdwl = f*(rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]); @@ -1225,16 +1225,16 @@ void PairLJLongTIP4PLong::compute_outer(int eflag, int vflag) frespa = 1.0; // check whether and how to compute respa corrections respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } r2inv = 1.0 / rsq; if (!ncoultablebits || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); forcecoul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; @@ -1248,13 +1248,13 @@ void PairLJLongTIP4PLong::compute_outer(int eflag, int vflag) } // table real space else { if (respa_flag) { - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (t.f-rtable[k])*drtable[k], qiqj = qtmp*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (t.f-rtable[k])*drtable[k], qiqj = qtmp*q[j]; if (ni == 0) { forcecoul = qiqj*(ftable[k]+f*dftable[k]); if (eflag) ecoul = qiqj*(etable[k]+f*detable[k]); diff --git a/src/OPT/pair_lj_long_coul_long_opt.cpp b/src/OPT/pair_lj_long_coul_long_opt.cpp index 91ffc2c01e..6bd1e8cb96 100644 --- a/src/OPT/pair_lj_long_coul_long_opt.cpp +++ b/src/OPT/pair_lj_long_coul_long_opt.cpp @@ -574,7 +574,7 @@ void PairLJLongCoulLongOpt::eval() ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -584,8 +584,8 @@ void PairLJLongCoulLongOpt::eval() if (ORDER1 && (rsq < cut_coulsq)) { // coulombic if (!CTABLE || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), x = g_ewald*r; - register double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); + double r = sqrt(rsq), x = g_ewald*r; + double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s; @@ -598,10 +598,10 @@ void PairLJLongCoulLongOpt::eval() } } // table real space else { - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask)>>ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask)>>ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -618,8 +618,8 @@ void PairLJLongCoulLongOpt::eval() if (rsq < cut_ljsqi[typej]) { // lj if (ORDER6) { // long-range lj if(!LJTABLE || rsq <= tabinnerdispsq) { // series real space - register double rn = r2inv*r2inv*r2inv; - register double x2 = g2*rsq, a2 = 1.0/x2; + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni == 0) { force_lj = @@ -628,7 +628,7 @@ void PairLJLongCoulLongOpt::eval() evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]; if (EFLAG) @@ -636,30 +636,30 @@ void PairLJLongCoulLongOpt::eval() } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]; if (EFLAG) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]; if (EFLAG) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; } } } else { // cut lj - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = rn*(rn*lj1i[typej]-lj2i[typej]); if (EFLAG) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej]); if (EFLAG) evdwl = f * (rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -671,7 +671,7 @@ void PairLJLongCoulLongOpt::eval() fpair = (force_coul+force_lj)*r2inv; if (NEWTON_PAIR || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -742,7 +742,7 @@ void PairLJLongCoulLongOpt::eval_outer() ni = sbmask(j); j &= NEIGHMASK; - { register double *xj = x0+(j+(j<<1)); + { double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -755,16 +755,16 @@ void PairLJLongCoulLongOpt::eval_outer() respa_lj = 0; respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } if (ORDER1 && (rsq < cut_coulsq)) { // coulombic if (!CTABLE || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; @@ -778,13 +778,13 @@ void PairLJLongCoulLongOpt::eval_outer() } // table real space else { if (respa_flag) { - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -803,13 +803,13 @@ void PairLJLongCoulLongOpt::eval_outer() else force_coul = respa_coul = ecoul = 0.0; if (rsq < cut_ljsqi[typej]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (respa_flag) respa_lj = ni == 0 ? // correct for respa frespa*rn*(rn*lj1i[typej]-lj2i[typej]) : frespa*rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; if (ORDER6) { // long-range form if (!LJTABLE || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni == 0) { force_lj = @@ -817,7 +817,7 @@ void PairLJLongCoulLongOpt::eval_outer() if (EFLAG) evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]-respa_lj; if (EFLAG) @@ -825,17 +825,17 @@ void PairLJLongCoulLongOpt::eval_outer() } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]-respa_lj; if (EFLAG) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]-respa_lj; if (EFLAG) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; } @@ -847,7 +847,7 @@ void PairLJLongCoulLongOpt::eval_outer() if (EFLAG) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej])-respa_lj; if (EFLAG) evdwl = f*(rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -859,7 +859,7 @@ void PairLJLongCoulLongOpt::eval_outer() fpair = (force_coul+force_lj)*r2inv; if (NEWTON_PAIR || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; diff --git a/src/USER-MISC/pair_edip.cpp b/src/USER-MISC/pair_edip.cpp index f556a099c9..2976d7ad73 100644 --- a/src/USER-MISC/pair_edip.cpp +++ b/src/USER-MISC/pair_edip.cpp @@ -94,7 +94,7 @@ void PairEDIP::compute(int eflag, int vflag) int itype,jtype,ktype,ijparam,ikparam; double xtmp,ytmp,ztmp,evdwl; int *ilist,*jlist,*numneigh,**firstneigh; - register int preForceCoord_counter; + int preForceCoord_counter; double invR_ij; double invR_ik; diff --git a/src/USER-MISC/pair_edip_multi.cpp b/src/USER-MISC/pair_edip_multi.cpp index 7a4193f55c..6be57eee74 100644 --- a/src/USER-MISC/pair_edip_multi.cpp +++ b/src/USER-MISC/pair_edip_multi.cpp @@ -106,7 +106,7 @@ void PairEDIPMulti::compute(int eflag, int vflag) int itype,jtype,ktype,ijparam,ikparam,ijkparam; double xtmp,ytmp,ztmp,evdwl; int *ilist,*jlist,*numneigh,**firstneigh; - register int preForceCoord_counter; + int preForceCoord_counter; double zeta_i; double dzetair; diff --git a/src/USER-OMP/pair_buck_long_coul_long_omp.cpp b/src/USER-OMP/pair_buck_long_coul_long_omp.cpp index 4a67cf9544..acb95ab76c 100644 --- a/src/USER-OMP/pair_buck_long_coul_long_omp.cpp +++ b/src/USER-OMP/pair_buck_long_coul_long_omp.cpp @@ -678,7 +678,7 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -689,25 +689,25 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) if (ORDER1 && (rsq < cut_coulsq)) { // coulombic if (!CTABLE || rsq <= tabinnersq) { // series real space - register double x = g_ewald*r; - register double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r; + double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s; if (EFLAG) ecoul = t; } else { // special case - register double f = s*(1.0-special_coul[ni])/r; + double f = s*(1.0-special_coul[ni])/r; s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-f; if (EFLAG) ecoul = t-f; } } // table real space else { - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -722,11 +722,11 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) else force_coul = ecoul = 0.0; if (rsq < cut_bucksqi[typej]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); if (ORDER6) { // long-range if (!DISPTABLE || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*buckci[typej]; if (ni == 0) { force_buck = @@ -734,7 +734,7 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) if (EFLAG) evdwl = expr*buckai[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*buck2i[typej]; if (EFLAG) evdwl = f*expr*buckai[typej] - @@ -742,16 +742,16 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) } } else { //table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; if (ni == 0) { force_buck = r*expr*buck1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej]; if (EFLAG) evdwl = expr*buckai[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]; } else { //speial case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej] -(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej] +t*buck2i[typej]; if (EFLAG) evdwl = f*expr*buckai[typej] -(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]+t*buckci[typej]; } @@ -764,7 +764,7 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) rn*buckci[typej]-offseti[typej]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; force_buck = f*(r*expr*buck1i[typej]-rn*buck2i[typej]); if (EFLAG) evdwl = f*(expr*buckai[typej]-rn*buckci[typej]-offseti[typej]); @@ -776,7 +776,7 @@ void PairBuckLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) fpair = (force_coul+force_buck)*r2inv; if (NEWTON_PAIR || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -842,7 +842,7 @@ void PairBuckLongCoulLongOMP::eval_inner(int iifrom, int iito, ThrData * const t ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -856,7 +856,7 @@ void PairBuckLongCoulLongOMP::eval_inner(int iifrom, int iito, ThrData * const t qri*q[j]/r : qri*q[j]/r*special_coul[ni]; if (rsq < cut_bucksqi[typej = type[j]]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); force_buck = ni == 0 ? (r*expr*buck1i[typej]-rn*buck2i[typej]) : @@ -867,12 +867,12 @@ void PairBuckLongCoulLongOMP::eval_inner(int iifrom, int iito, ThrData * const t fpair = (force_coul + force_buck) * r2inv; if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -939,7 +939,7 @@ void PairBuckLongCoulLongOMP::eval_middle(int iifrom, int iito, ThrData * const ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -954,7 +954,7 @@ void PairBuckLongCoulLongOMP::eval_middle(int iifrom, int iito, ThrData * const qri*q[j]/r : qri*q[j]/r*special_coul[ni]; if (rsq < cut_bucksqi[typej = type[j]]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); force_buck = ni == 0 ? (r*expr*buck1i[typej]-rn*buck2i[typej]) : @@ -965,16 +965,16 @@ void PairBuckLongCoulLongOMP::eval_middle(int iifrom, int iito, ThrData * const fpair = (force_coul + force_buck) * r2inv; if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; fpair *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -1042,7 +1042,7 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -1056,36 +1056,36 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t respa_buck = 0.0; respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (r-cut_in_off)/cut_in_diff; + double rsw = (r-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } if (ORDER1 && (rsq < cut_coulsq)) { // coulombic if (!CTABLE || rsq <= tabinnersq) { // series real space - register double s = qri*q[j]; + double s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; if (EFLAG) ecoul = t; } else { // correct for special - register double ri = s*(1.0-special_coul[ni])/r; s *= g_ewald*exp(-x*x); + double ri = s*(1.0-special_coul[ni])/r; s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-ri-respa_coul; if (EFLAG) ecoul = t-ri; } } // table real space else { if (respa_flag) { - register double s = qri*q[j]; + double s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -1103,14 +1103,14 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t else force_coul = respa_coul = ecoul = 0.0; if (rsq < cut_bucksqi[typej]) { // buckingham - register double rn = r2inv*r2inv*r2inv, + double rn = r2inv*r2inv*r2inv, expr = exp(-r*rhoinvi[typej]); if (respa_flag) respa_buck = ni == 0 ? // correct for respa frespa*(r*expr*buck1i[typej]-rn*buck2i[typej]) : frespa*(r*expr*buck1i[typej]-rn*buck2i[typej])*special_lj[ni]; if (ORDER6) { // long-range form if (!DISPTABLE || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*buckci[typej]; if (ni == 0) { force_buck = @@ -1118,7 +1118,7 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t if (EFLAG) evdwl = expr*buckai[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*buck2i[typej]-respa_buck; if (EFLAG) evdwl = f*expr*buckai[typej] - @@ -1126,17 +1126,17 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_buck = r*expr*buck1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej]-respa_buck; if (EFLAG) evdwl = expr*buckai[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]; } else { //special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_buck = f*r*expr*buck1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*buckci[typej]+t*buck2i[typej]-respa_buck; if (EFLAG) evdwl = f*expr*buckai[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*buckci[typej]+t*buckci[typej]; } @@ -1149,7 +1149,7 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t evdwl = expr*buckai[typej]-rn*buckci[typej]-offseti[typej]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; force_buck = f*(r*expr*buck1i[typej]-rn*buck2i[typej])-respa_buck; if (EFLAG) evdwl = f*(expr*buckai[typej]-rn*buckci[typej]-offseti[typej]); @@ -1161,7 +1161,7 @@ void PairBuckLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const t fpair = (force_coul+force_buck)*r2inv; if (NEWTON_PAIR || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; diff --git a/src/USER-OMP/pair_edip_omp.cpp b/src/USER-OMP/pair_edip_omp.cpp index 5ad8c808ba..3392160d92 100644 --- a/src/USER-OMP/pair_edip_omp.cpp +++ b/src/USER-OMP/pair_edip_omp.cpp @@ -84,7 +84,7 @@ void PairEDIPOMP::eval(int iifrom, int iito, ThrData * const thr) int itype,jtype,ktype,ijparam,ikparam; double xtmp,ytmp,ztmp,evdwl; int *ilist,*jlist,*numneigh,**firstneigh; - register int preForceCoord_counter; + int preForceCoord_counter; double invR_ij; double invR_ik; diff --git a/src/USER-OMP/pair_lj_long_coul_long_omp.cpp b/src/USER-OMP/pair_lj_long_coul_long_omp.cpp index 0afc230e92..391840285b 100644 --- a/src/USER-OMP/pair_lj_long_coul_long_omp.cpp +++ b/src/USER-OMP/pair_lj_long_coul_long_omp.cpp @@ -673,7 +673,7 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -683,8 +683,8 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) if (ORDER1 && (rsq < cut_coulsq)) { // coulombic if (!CTABLE || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), x = g_ewald*r; - register double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); + double r = sqrt(rsq), x = g_ewald*r; + double s = qri*q[j], t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s; @@ -697,10 +697,10 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) } } // table real space else { - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask)>>ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask)>>ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -717,8 +717,8 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) if (rsq < cut_ljsqi[typej]) { // lj if (ORDER6) { // long-range lj if(!LJTABLE || rsq <= tabinnerdispsq) { //series real space - register double rn = r2inv*r2inv*r2inv; - register double x2 = g2*rsq, a2 = 1.0/x2; + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni == 0) { force_lj = @@ -727,7 +727,7 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]; if (EFLAG) @@ -735,30 +735,30 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]; if (EFLAG) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]; if (EFLAG) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; } } } else { // cut lj - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = rn*(rn*lj1i[typej]-lj2i[typej]); if (EFLAG) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej]); if (EFLAG) evdwl = f * (rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -770,7 +770,7 @@ void PairLJLongCoulLongOMP::eval(int iifrom, int iito, ThrData * const thr) fpair = (force_coul+force_lj)*r2inv; if (NEWTON_PAIR || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -834,7 +834,7 @@ void PairLJLongCoulLongOMP::eval_inner(int iifrom, int iito, ThrData * const thr ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -849,7 +849,7 @@ void PairLJLongCoulLongOMP::eval_inner(int iifrom, int iito, ThrData * const thr } if (rsq < cut_ljsqi[typej = type[j]]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; force_lj = ni == 0 ? rn*(rn*lj1i[typej]-lj2i[typej]) : rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; @@ -859,12 +859,12 @@ void PairLJLongCoulLongOMP::eval_inner(int iifrom, int iito, ThrData * const thr fpair = (force_coul + force_lj) * r2inv; if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -932,7 +932,7 @@ void PairLJLongCoulLongOMP::eval_middle(int iifrom, int iito, ThrData * const th ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -946,7 +946,7 @@ void PairLJLongCoulLongOMP::eval_middle(int iifrom, int iito, ThrData * const th qri*q[j]*sqrt(r2inv) : qri*q[j]*sqrt(r2inv)*special_coul[ni]; if (rsq < cut_ljsqi[typej = type[j]]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; force_lj = ni == 0 ? rn*(rn*lj1i[typej]-lj2i[typej]) : rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; @@ -956,16 +956,16 @@ void PairLJLongCoulLongOMP::eval_middle(int iifrom, int iito, ThrData * const th fpair = (force_coul + force_lj) * r2inv; if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; fpair *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; fpair *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } if (newton_pair || j < nlocal) { // force update - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; @@ -1034,7 +1034,7 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr ni = sbmask(j); j &= NEIGHMASK; - { register const double *xj = x0+(j+(j<<1)); + { const double *xj = x0+(j+(j<<1)); d[0] = xi[0] - xj[0]; // pair vector d[1] = xi[1] - xj[1]; d[2] = xi[2] - xj[2]; } @@ -1047,16 +1047,16 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr respa_lj = 0; respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } if (ORDER1 && (rsq < cut_coulsq)) { // coulombic if (!CTABLE || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); force_coul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; @@ -1070,13 +1070,13 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr } // table real space else { if (respa_flag) { - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (rsq-rtable[k])*drtable[k], qiqj = qi*q[j]; if (ni == 0) { force_coul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); @@ -1095,13 +1095,13 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr else force_coul = respa_coul = ecoul = 0.0; if (rsq < cut_ljsqi[typej]) { // lennard-jones - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (respa_flag) respa_lj = ni == 0 ? // correct for respa frespa*rn*(rn*lj1i[typej]-lj2i[typej]) : frespa*rn*(rn*lj1i[typej]-lj2i[typej])*special_lj[ni]; if (ORDER6) { // long-range form if (!LJTABLE || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[typej]; if (ni == 0) { force_lj = @@ -1109,7 +1109,7 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr if (EFLAG) evdwl = rn*lj3i[typej]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[typej]-respa_lj; if (EFLAG) @@ -1117,17 +1117,17 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { force_lj = (rn*=rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]-respa_lj; if (EFLAG) evdwl = rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); force_lj = f*(rn *= rn)*lj1i[typej]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[typej]+t*lj2i[typej]-respa_lj; if (EFLAG) evdwl = f*rn*lj3i[typej]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[typej]+t*lj4i[typej]; } @@ -1139,7 +1139,7 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr if (EFLAG) evdwl = rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; force_lj = f*rn*(rn*lj1i[typej]-lj2i[typej])-respa_lj; if (EFLAG) evdwl = f*(rn*(rn*lj3i[typej]-lj4i[typej])-offseti[typej]); @@ -1151,7 +1151,7 @@ void PairLJLongCoulLongOMP::eval_outer(int iiform, int iito, ThrData * const thr fpair = (force_coul+force_lj)*r2inv; if (NEWTON_PAIR || j < nlocal) { - register double *fj = f0+(j+(j<<1)), f; + double *fj = f0+(j+(j<<1)), f; fi[0] += f = d[0]*fpair; fj[0] -= f; fi[1] += f = d[1]*fpair; fj[1] -= f; fi[2] += f = d[2]*fpair; fj[2] -= f; diff --git a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp b/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp index 8c0d72c741..19278d19bb 100644 --- a/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp +++ b/src/USER-OMP/pair_lj_long_tip4p_long_omp.cpp @@ -812,8 +812,8 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) r2inv = 1.0/rsq; if (ORDER6) { // long-range lj if (!LJTABLE || rsq <= tabinnerdispsq) { - register double rn = r2inv*r2inv*r2inv; - register double x2 = g2*rsq, a2 = 1.0/x2; + double rn = r2inv*r2inv*r2inv; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[jtype]; if (ni == 0) { forcelj = @@ -822,7 +822,7 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) evdwl = rn*lj3i[jtype]-g6*((a2+1.0)*a2+0.5)*x2; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[jtype]; if (EFLAG) @@ -830,30 +830,30 @@ void PairLJLongTIP4PLongOMP::eval(int iifrom, int iito, ThrData * const thr) } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; - register double rn = r2inv*r2inv*r2inv; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { forcelj = (rn*=rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]; if (EFLAG) evdwl = rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]+t*lj2i[jtype]; if (EFLAG) evdwl = f*rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]+t*lj4i[jtype]; } } } else { // cut lj - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) { forcelj = rn*(rn*lj1i[jtype]-lj2i[jtype]); if (EFLAG) evdwl = rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]; } else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype]); if (EFLAG) evdwl = f * (rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]); @@ -1191,15 +1191,15 @@ void PairLJLongTIP4PLongOMP::eval_inner(int iifrom, int iito, ThrData * const th if (rsq < cut_ljsq[itype][jtype] && rsq < cut_out_off_sq ) { // lj r2inv = 1.0/rsq; - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) forcelj = rn*(rn*lj1i[jtype]-lj2i[jtype]); else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype]); } if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcelj *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -1260,7 +1260,7 @@ void PairLJLongTIP4PLongOMP::eval_inner(int iifrom, int iito, ThrData * const th } if (rsq > cut_out_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcecoul *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -1445,19 +1445,19 @@ void PairLJLongTIP4PLongOMP::eval_middle(int iifrom, int iito, ThrData * const t if (rsq < cut_ljsq[itype][jtype] && rsq >= cut_in_off_sq && rsq <= cut_out_off_sq ) { // lj r2inv = 1.0/rsq; - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (ni == 0) forcelj = rn*(rn*lj1i[jtype]-lj2i[jtype]); else { // special case - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype]); } if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; forcelj *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcelj *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -1518,11 +1518,11 @@ void PairLJLongTIP4PLongOMP::eval_middle(int iifrom, int iito, ThrData * const t } if (rsq < cut_in_on_sq) { // switching - register double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq) - cut_in_off)/cut_in_diff; forcecoul *= rsw*rsw*(3.0 - 2.0*rsw); } if (rsq > cut_out_on_sq) { - register double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; + double rsw = (sqrt(rsq) - cut_out_on)/cut_out_diff; forcecoul *= 1.0 + rsw*rsw*(2.0*rsw-3.0); } @@ -1719,18 +1719,18 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th frespa = 1.0; // check whether and how to compute respa corrections respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } r2inv = 1.0/rsq; - register double rn = r2inv*r2inv*r2inv; + double rn = r2inv*r2inv*r2inv; if (respa_flag) respa_lj = ni == 0 ? // correct for respa frespa*rn*(rn*lj1i[jtype]-lj2i[jtype]) : frespa*rn*(rn*lj1i[jtype]-lj2i[jtype])*special_lj[ni]; if (ORDER6) { // long-range form if (!ndisptablebits || rsq <= tabinnerdispsq) { - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2)*lj4i[jtype]; if (ni == 0) { forcelj = @@ -1738,7 +1738,7 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th if (EFLAG) evdwl = rn*lj3i[jtype]-g6*((a2+1.0)*a2+0.5)*x2; } else { // correct for special - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]- g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq+t*lj2i[jtype]-respa_lj; if (EFLAG) @@ -1746,16 +1746,16 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th } } else { // table real space - register union_int_float_t disp_t; + union_int_float_t disp_t; disp_t.f = rsq; - register const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; - register double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; + const int disp_k = (disp_t.i & ndispmask)>>ndispshiftbits; + double f_disp = (rsq-rdisptable[disp_k])*drdisptable[disp_k]; if (ni == 0) { forcelj = (rn*=rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]-respa_lj; if (EFLAG) evdwl = rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]; } else { // special case - register double f = special_lj[ni], t = rn*(1.0-f); + double f = special_lj[ni], t = rn*(1.0-f); forcelj = f*(rn *= rn)*lj1i[jtype]-(fdisptable[disp_k]+f_disp*dfdisptable[disp_k])*lj4i[jtype]+t*lj2i[jtype]-respa_lj; if (EFLAG) evdwl = f*rn*lj3i[jtype]-(edisptable[disp_k]+f_disp*dedisptable[disp_k])*lj4i[jtype]+t*lj4i[jtype]; } @@ -1767,7 +1767,7 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th if (EFLAG) evdwl = rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]; } else { // correct for special - register double f = special_lj[ni]; + double f = special_lj[ni]; forcelj = f*rn*(rn*lj1i[jtype]-lj2i[jtype])-respa_lj; if (EFLAG) evdwl = f*(rn*(rn*lj3i[jtype]-lj4i[jtype])-offseti[jtype]); @@ -1832,16 +1832,16 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th frespa = 1.0; // check whether and how to compute respa corrections respa_flag = rsq < cut_in_on_sq ? 1 : 0; if (respa_flag && (rsq > cut_in_off_sq)) { - register double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; + double rsw = (sqrt(rsq)-cut_in_off)/cut_in_diff; frespa = 1-rsw*rsw*(3.0-2.0*rsw); } r2inv = 1.0 / rsq; if (!CTABLE || rsq <= tabinnersq) { // series real space - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; if (respa_flag) // correct for respa respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; - register double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); + double x = g_ewald*r, t = 1.0/(1.0+EWALD_P*x); if (ni == 0) { s *= g_ewald*exp(-x*x); forcecoul = (t *= ((((t*A5+A4)*t+A3)*t+A2)*t+A1)*s/x)+EWALD_F*s-respa_coul; @@ -1855,13 +1855,13 @@ void PairLJLongTIP4PLongOMP::eval_outer(int iifrom, int iito, ThrData * const th } // table real space else { if (respa_flag) { - register double r = sqrt(rsq), s = qri*q[j]; + double r = sqrt(rsq), s = qri*q[j]; respa_coul = ni == 0 ? frespa*s/r : frespa*s/r*special_coul[ni]; } - register union_int_float_t t; + union_int_float_t t; t.f = rsq; - register const int k = (t.i & ncoulmask) >> ncoulshiftbits; - register double f = (t.f-rtable[k])*drtable[k], qiqj = qtmp*q[j]; + const int k = (t.i & ncoulmask) >> ncoulshiftbits; + double f = (t.f-rtable[k])*drtable[k], qiqj = qtmp*q[j]; if (ni == 0) { forcecoul = qiqj*(ftable[k]+f*dftable[k]); if (EFLAG) ecoul = qiqj*(etable[k]+f*detable[k]); diff --git a/src/math_complex.h b/src/math_complex.h index e4d889c4e6..4cf25b6dac 100644 --- a/src/math_complex.h +++ b/src/math_complex.h @@ -32,12 +32,12 @@ typedef struct complex { d.im = x.re*y.im+x.im*y.re; } #define C_RMULT(d, x, y) { \ - register complex t = x; \ + complex t = x; \ d.re = t.re*y.re-t.im*y.im; \ d.im = t.re*y.im+t.im*y.re; } #define C_CRMULT(d, x, y) { \ - register complex t = x; \ + complex t = x; \ d.re = t.re*y.re-t.im*y.im; \ d.im = -t.re*y.im-t.im*y.re; } @@ -62,7 +62,7 @@ typedef struct complex { d.im = y; } #define C_ANGLE(d, angle) { \ - register double a = angle; \ + double a = angle; \ d.re = cos(a); \ d.im = sin(a); } diff --git a/src/math_vector.h b/src/math_vector.h index c222757272..ff260b794d 100644 --- a/src/math_vector.h +++ b/src/math_vector.h @@ -62,7 +62,7 @@ inline void vec_neg(vector &dest) { // -a dest[2] = -dest[2]; } inline void vec_norm(vector &dest) { // a/|a| - register double f = sqrt(vec_dot(dest, dest)); + double f = sqrt(vec_dot(dest, dest)); dest[0] /= f; dest[1] /= f; dest[2] /= f; } @@ -190,7 +190,7 @@ inline void form_subtr(shape &dest, form &src) { // m_a-m_b dest[3] -= src[3]; dest[4] -= src[4]; dest[5] -= src[5]; } inline int form_inv(form &m_inv, form &m) { // m^-1 - register double det = form_det(m); + double det = form_det(m); if (fzero(det)) return 0; m_inv[0] = (m[1]*m[2]-m[3]*m[3])/det; m_inv[1] = (m[0]*m[2]-m[4]*m[4])/det; @@ -345,7 +345,7 @@ inline void form4_unit(form4 &dest) { dest[0] = dest[1] = dest[2] = dest[3] = 1.0; } inline double form4_det(form4 &m) { - register double f = m[6]*m[7]-m[5]*m[8]; + double f = m[6]*m[7]-m[5]*m[8]; return m[0]*( m[1]*(m[2]*m[3]-m[4]*m[4])+ m[5]*(2.0*m[4]*m[7]-m[2]*m[5])-m[3]*m[7]*m[7])+f*f+ @@ -355,7 +355,7 @@ inline double form4_det(form4 &m) { m[9]*(m[4]*m[4]-m[2]*m[3])); } inline int form4_inv(form4 &m_inv, form4 &m) { - register double det = form4_det(m); + double det = form4_det(m); if (fzero(det)) return 0; m_inv[0] = (m[1]*(m[2]*m[3]-m[4]*m[4])+ m[5]*(2.0*m[4]*m[7]-m[2]*m[5])-m[3]*m[7]*m[7])/det; diff --git a/src/pack.h b/src/pack.h index 5db35117c5..066535f5c9 100644 --- a/src/pack.h +++ b/src/pack.h @@ -55,8 +55,8 @@ struct pack_plan_3d { static void pack_3d(PACK_DATA *data, PACK_DATA *buf, struct pack_plan_3d *plan) { - register int in,out,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + int in,out,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -81,8 +81,8 @@ static void pack_3d(PACK_DATA *data, PACK_DATA *buf, struct pack_plan_3d *plan) static void unpack_3d(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + int in,out,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -107,8 +107,8 @@ static void unpack_3d(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan static void unpack_3d_permute1_1(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + int in,out,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -133,8 +133,8 @@ static void unpack_3d_permute1_1(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute1_2(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + int in,out,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -162,8 +162,8 @@ static void unpack_3d_permute1_2(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute1_n(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,iqty,instart,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane,nqty; + int in,out,iqty,instart,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane,nqty; nfast = plan->nfast; nmid = plan->nmid; @@ -192,8 +192,8 @@ static void unpack_3d_permute1_n(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_1(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane; + int in,out,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane; nfast = plan->nfast; nmid = plan->nmid; @@ -218,8 +218,8 @@ static void unpack_3d_permute2_1(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_2(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane; + int in,out,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane; nfast = plan->nfast; nmid = plan->nmid; @@ -246,8 +246,8 @@ static void unpack_3d_permute2_2(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_n(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register int in,out,iqty,instart,fast,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,nqty; + int in,out,iqty,instart,fast,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,nqty; nfast = plan->nfast; nmid = plan->nmid; @@ -283,9 +283,9 @@ static void unpack_3d_permute2_n(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void pack_3d(PACK_DATA *data, PACK_DATA *buf, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -312,9 +312,9 @@ static void pack_3d(PACK_DATA *data, PACK_DATA *buf, struct pack_plan_3d *plan) static void unpack_3d(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -341,9 +341,9 @@ static void unpack_3d(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan static void unpack_3d_permute1_1(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -370,9 +370,9 @@ static void unpack_3d_permute1_1(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute1_2(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -401,9 +401,9 @@ static void unpack_3d_permute1_2(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute1_n(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*instart,*begin,*end; - register int iqty,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane,nqty; + PACK_DATA *in,*out,*instart,*begin,*end; + int iqty,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane,nqty; nfast = plan->nfast; nmid = plan->nmid; @@ -433,9 +433,9 @@ static void unpack_3d_permute1_n(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_1(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane; nfast = plan->nfast; nmid = plan->nmid; @@ -461,9 +461,9 @@ static void unpack_3d_permute2_1(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_2(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane; nfast = plan->nfast; nmid = plan->nmid; @@ -491,9 +491,9 @@ static void unpack_3d_permute2_2(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_n(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*instart,*begin,*end; - register int iqty,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,nqty; + PACK_DATA *in,*out,*instart,*begin,*end; + int iqty,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,nqty; nfast = plan->nfast; nmid = plan->nmid; @@ -532,9 +532,9 @@ static void unpack_3d_permute2_n(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void pack_3d(PACK_DATA *data, PACK_DATA *buf, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out; - register int mid,slow,size; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane,upto; + PACK_DATA *in,*out; + int mid,slow,size; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane,upto; nfast = plan->nfast; nmid = plan->nmid; @@ -561,9 +561,9 @@ static void pack_3d(PACK_DATA *data, PACK_DATA *buf, struct pack_plan_3d *plan) static void unpack_3d(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out; - register int mid,slow,size; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane,upto; + PACK_DATA *in,*out; + int mid,slow,size; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane,upto; nfast = plan->nfast; nmid = plan->nmid; @@ -590,9 +590,9 @@ static void unpack_3d(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan static void unpack_3d_permute1_1(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -619,9 +619,9 @@ static void unpack_3d_permute1_1(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute1_2(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane; nfast = plan->nfast; nmid = plan->nmid; @@ -650,9 +650,9 @@ static void unpack_3d_permute1_2(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute1_n(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*instart,*begin,*end; - register int iqty,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,plane,nqty; + PACK_DATA *in,*out,*instart,*begin,*end; + int iqty,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,plane,nqty; nfast = plan->nfast; nmid = plan->nmid; @@ -682,9 +682,9 @@ static void unpack_3d_permute1_n(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_1(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane; nfast = plan->nfast; nmid = plan->nmid; @@ -710,9 +710,9 @@ static void unpack_3d_permute2_1(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_2(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*begin,*end; - register int mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane; + PACK_DATA *in,*out,*begin,*end; + int mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane; nfast = plan->nfast; nmid = plan->nmid; @@ -740,9 +740,9 @@ static void unpack_3d_permute2_2(PACK_DATA *buf, PACK_DATA *data, struct pack_pl static void unpack_3d_permute2_n(PACK_DATA *buf, PACK_DATA *data, struct pack_plan_3d *plan) { - register PACK_DATA *in,*out,*instart,*begin,*end; - register int iqty,mid,slow; - register int nfast,nmid,nslow,nstride_line,nstride_plane,nqty; + PACK_DATA *in,*out,*instart,*begin,*end; + int iqty,mid,slow; + int nfast,nmid,nslow,nstride_line,nstride_plane,nqty; nfast = plan->nfast; nmid = plan->nmid; diff --git a/src/pair.cpp b/src/pair.cpp index 3b839dff49..73dbb9428e 100644 --- a/src/pair.cpp +++ b/src/pair.cpp @@ -563,7 +563,7 @@ void Pair::init_tables_disp(double cut_lj_global) rsq_lookup.i |= maskhi; } rsq = rsq_lookup.f; - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2); rdisptable[i] = rsq_lookup.f; @@ -609,7 +609,7 @@ void Pair::init_tables_disp(double cut_lj_global) if (rsq_lookup.f < (cut_lj_globalsq = cut_lj_global * cut_lj_global)) { rsq_lookup.f = cut_lj_globalsq; - register double x2 = g2*rsq, a2 = 1.0/x2; + double x2 = g2*rsq, a2 = 1.0/x2; x2 = a2*exp(-x2); f_tmp = g8*(((6.0*a2+6.0)*a2+3.0)*a2+1.0)*x2*rsq; e_tmp = g6*((a2+1.0)*a2+0.5)*x2; -- GitLab From cfb350d40bd787278923e4660485bb37ac145953 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Sat, 19 May 2018 11:07:19 -0600 Subject: [PATCH 03/17] cmake: QMMM and H5MD need C --- cmake/CMakeLists.txt | 3 +-- 1 file changed, 1 insertion(+), 2 deletions(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 7ce7ca23e1..5cf3781ade 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -137,7 +137,6 @@ endmacro() pkg_depends(MPIIO MPI) pkg_depends(QEQ MANYBODY) pkg_depends(USER-ATC MANYBODY) -pkg_depends(USER-H5MD MPI) pkg_depends(USER-LB MPI) pkg_depends(USER-MISC MANYBODY) pkg_depends(USER-PHONON KSPACE) @@ -149,7 +148,7 @@ if(PKG_REAX OR PKG_MEAM OR PKG_USER-QUIP OR PKG_USER-QMMM OR PKG_LATTE) enable_language(Fortran) endif() -if(PKG_MEAM) +if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM) enable_language(C) endif() -- GitLab From e6f76451eb6ba8bfad55ab552c38a79f28c01cb8 Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Sun, 20 May 2018 07:27:22 -0600 Subject: [PATCH 04/17] cmake: fix pkg_depend macro --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 5cf3781ade..9e8930565b 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -129,7 +129,7 @@ foreach(PKG ${ACCEL_PACKAGES} ${OTHER_PACKAGES}) endforeach() macro(pkg_depends PKG1 PKG2) - if(PKG_${PKG1} AND NOT PKG_${PKG2}) + if(PKG_${PKG1} AND NOT (PKG_${PKG2} OR BUILD_${PKG2})) message(FATAL_ERROR "${PKG1} package needs LAMMPS to be build with ${PKG2}") endif() endmacro() -- GitLab From bb6dcb8ebda43d841711eecdf26060ab680cd16c Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Sun, 20 May 2018 07:54:00 -0600 Subject: [PATCH 05/17] cmake: make CORESHELL depend on KSPACE --- cmake/CMakeLists.txt | 1 + 1 file changed, 1 insertion(+) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index 9e8930565b..fd9aa3cd30 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -140,6 +140,7 @@ pkg_depends(USER-ATC MANYBODY) pkg_depends(USER-LB MPI) pkg_depends(USER-MISC MANYBODY) pkg_depends(USER-PHONON KSPACE) +pkg_depends(CORESHELL KSPACE) ###################################################### # packages with special compiler needs or external libs -- GitLab From df3eb3651917fee3b1696fc195a264266d5fc1dd Mon Sep 17 00:00:00 2001 From: Christoph Junghans Date: Sun, 20 May 2018 08:22:20 -0600 Subject: [PATCH 06/17] cmake: KOKKOS enables C++-11 internally --- cmake/CMakeLists.txt | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/cmake/CMakeLists.txt b/cmake/CMakeLists.txt index fd9aa3cd30..206a014422 100644 --- a/cmake/CMakeLists.txt +++ b/cmake/CMakeLists.txt @@ -153,7 +153,7 @@ if(PKG_MEAM OR PKG_USER-H5MD OR PKG_USER-QMMM) enable_language(C) endif() -if(PKG_KOKKOS OR PKG_MSCG) +if(PKG_MSCG) # starting with CMake 3.1 this is all you have to do to enforce C++11 set(CMAKE_CXX_STANDARD 11) # C++11... set(CMAKE_CXX_STANDARD_REQUIRED ON) #...is required... -- GitLab From 1f193e02e0eb8c369bf727808628a1bef434ec32 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Fri, 11 May 2018 23:56:38 -0400 Subject: [PATCH 07/17] update to c++ style include header syntax --- examples/COUPLE/lammps_quest/lmpqst.cpp | 8 ++++---- examples/COUPLE/lammps_spparks/lmpspk.cpp | 8 ++++---- examples/COUPLE/library/error.cpp | 4 ++-- examples/COUPLE/library/files.cpp | 4 ++-- examples/COUPLE/library/irregular.cpp | 6 +++--- examples/COUPLE/library/lammps_data_write.cpp | 4 ++-- examples/COUPLE/library/lammps_data_write.h | 2 +- examples/COUPLE/library/many2many.cpp | 4 ++-- examples/COUPLE/library/many2one.cpp | 6 +++--- examples/COUPLE/library/memory.cpp | 4 ++-- examples/COUPLE/library/one2many.cpp | 2 +- examples/COUPLE/library/send2one.cpp | 6 +++--- examples/COUPLE/multiple/multiple.cpp | 8 ++++---- examples/COUPLE/simple/simple.cpp | 19 ++++++++++--------- 14 files changed, 43 insertions(+), 42 deletions(-) diff --git a/examples/COUPLE/lammps_quest/lmpqst.cpp b/examples/COUPLE/lammps_quest/lmpqst.cpp index e7f2d92c1d..76a89f1d06 100644 --- a/examples/COUPLE/lammps_quest/lmpqst.cpp +++ b/examples/COUPLE/lammps_quest/lmpqst.cpp @@ -6,10 +6,10 @@ // in.lammps = LAMMPS input script // in.quest = Quest input script -#include "mpi.h" -#include "stdio.h" -#include "stdlib.h" -#include "string.h" +#include +#include +#include +#include #include "stdint.h" #include "many2one.h" diff --git a/examples/COUPLE/lammps_spparks/lmpspk.cpp b/examples/COUPLE/lammps_spparks/lmpspk.cpp index da6d252369..2e234c89f1 100644 --- a/examples/COUPLE/lammps_spparks/lmpspk.cpp +++ b/examples/COUPLE/lammps_spparks/lmpspk.cpp @@ -7,10 +7,10 @@ // Sfactor = multiplier on strain effect // in.spparks = SPPARKS input script -#include "mpi.h" -#include "stdio.h" -#include "stdlib.h" -#include "string.h" +#include +#include +#include +#include #include "lammps_data_write.h" #include "many2many.h" diff --git a/examples/COUPLE/library/error.cpp b/examples/COUPLE/library/error.cpp index f538dce23f..b7a59b8c72 100644 --- a/examples/COUPLE/library/error.cpp +++ b/examples/COUPLE/library/error.cpp @@ -1,6 +1,6 @@ #include -#include -#include +#include +#include #include "error.h" /* ---------------------------------------------------------------------- */ diff --git a/examples/COUPLE/library/files.cpp b/examples/COUPLE/library/files.cpp index 0d98e69a9e..d4d707a6c9 100644 --- a/examples/COUPLE/library/files.cpp +++ b/examples/COUPLE/library/files.cpp @@ -1,5 +1,5 @@ -#include -#include +#include +#include #include "files.h" #define MAXLINE 256 diff --git a/examples/COUPLE/library/irregular.cpp b/examples/COUPLE/library/irregular.cpp index aea9b8332c..b822fc859d 100644 --- a/examples/COUPLE/library/irregular.cpp +++ b/examples/COUPLE/library/irregular.cpp @@ -1,6 +1,6 @@ -#include "stdio.h" -#include "stdlib.h" -#include "string.h" +#include +#include +#include #include "irregular.h" #include "memory.h" #include "error.h" diff --git a/examples/COUPLE/library/lammps_data_write.cpp b/examples/COUPLE/library/lammps_data_write.cpp index cb525871e2..9d1039ff47 100644 --- a/examples/COUPLE/library/lammps_data_write.cpp +++ b/examples/COUPLE/library/lammps_data_write.cpp @@ -1,6 +1,6 @@ #include -#include -#include +#include +#include #include "lammps_data_write.h" #include "memory.h" #include "error.h" diff --git a/examples/COUPLE/library/lammps_data_write.h b/examples/COUPLE/library/lammps_data_write.h index 9a6de2b63c..0192c17e29 100644 --- a/examples/COUPLE/library/lammps_data_write.h +++ b/examples/COUPLE/library/lammps_data_write.h @@ -1,7 +1,7 @@ #ifndef LAMMPS_DATA_WRITE_H #define LAMMPS_DATA_WRITE_H -#include +#include #include "send2one.h" class LAMMPSDataWrite : public Send2One { diff --git a/examples/COUPLE/library/many2many.cpp b/examples/COUPLE/library/many2many.cpp index 3ca9ca63bb..cbf5da8e6e 100644 --- a/examples/COUPLE/library/many2many.cpp +++ b/examples/COUPLE/library/many2many.cpp @@ -1,6 +1,6 @@ #include -#include -#include +#include +#include #include "many2many.h" #include "irregular.h" #include "memory.h" diff --git a/examples/COUPLE/library/many2one.cpp b/examples/COUPLE/library/many2one.cpp index 5b5467aa61..ba227bf471 100644 --- a/examples/COUPLE/library/many2one.cpp +++ b/examples/COUPLE/library/many2one.cpp @@ -1,6 +1,6 @@ -#include "mpi.h" -#include "stdio.h" -#include "stdlib.h" +#include +#include +#include #include "many2one.h" #include "memory.h" diff --git a/examples/COUPLE/library/memory.cpp b/examples/COUPLE/library/memory.cpp index 9d299a8376..98ef8bafc0 100644 --- a/examples/COUPLE/library/memory.cpp +++ b/examples/COUPLE/library/memory.cpp @@ -1,6 +1,6 @@ #include -#include -#include +#include +#include #include "memory.h" #include "error.h" diff --git a/examples/COUPLE/library/one2many.cpp b/examples/COUPLE/library/one2many.cpp index 5c4a1799ba..aa4a03720a 100644 --- a/examples/COUPLE/library/one2many.cpp +++ b/examples/COUPLE/library/one2many.cpp @@ -1,5 +1,5 @@ #include -#include +#include #include "one2many.h" #include "memory.h" diff --git a/examples/COUPLE/library/send2one.cpp b/examples/COUPLE/library/send2one.cpp index d969b4678d..d35cf19a4e 100644 --- a/examples/COUPLE/library/send2one.cpp +++ b/examples/COUPLE/library/send2one.cpp @@ -1,6 +1,6 @@ -#include "mpi.h" -#include "stdlib.h" -#include "stdio.h" +#include +#include +#include #include "send2one.h" #include "memory.h" #include "error.h" diff --git a/examples/COUPLE/multiple/multiple.cpp b/examples/COUPLE/multiple/multiple.cpp index f2de959bac..c58c3c78a9 100644 --- a/examples/COUPLE/multiple/multiple.cpp +++ b/examples/COUPLE/multiple/multiple.cpp @@ -23,10 +23,10 @@ // Tdelta = incremental temperature for each of N runs // See README for compilation instructions -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include "mpi.h" +#include +#include +#include +#include #include "lammps.h" // these are LAMMPS include files #include "input.h" diff --git a/examples/COUPLE/simple/simple.cpp b/examples/COUPLE/simple/simple.cpp index 912f4b8689..a76ed8a6e9 100644 --- a/examples/COUPLE/simple/simple.cpp +++ b/examples/COUPLE/simple/simple.cpp @@ -19,15 +19,16 @@ // in.lammps = LAMMPS input script // See README for compilation instructions -#include "stdio.h" -#include "stdlib.h" -#include "string.h" -#include "mpi.h" - -#include "lammps.h" // these are LAMMPS include files -#include "input.h" -#include "atom.h" -#include "library.h" +#include +#include +#include +#include + +// these are LAMMPS include files +#include +#include +#include +#include using namespace LAMMPS_NS; -- GitLab From f5b7419108b27569326f384063a7caca36fa69f5 Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Tue, 15 May 2018 14:18:10 -0400 Subject: [PATCH 08/17] fix typo reported in #915 --- src/compute_rdf.cpp | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/src/compute_rdf.cpp b/src/compute_rdf.cpp index 263e7f799b..f2635c0948 100644 --- a/src/compute_rdf.cpp +++ b/src/compute_rdf.cpp @@ -169,7 +169,7 @@ void ComputeRDF::init() cutghost = comm->cutghostuser; if (mycutneigh > cutghost) - error->all(FLERR,"Compure rdf cutoff exceeds ghost atom range - " + error->all(FLERR,"Compute rdf cutoff exceeds ghost atom range - " "use comm_modify cutoff command"); if (force->pair && mycutneigh < force->pair->cutforce + skin) if (comm->me == 0) -- GitLab From 4ec31564fe4dccbad5155fd303d374c97a2235fa Mon Sep 17 00:00:00 2001 From: Axel Kohlmeyer Date: Mon, 21 May 2018 16:48:40 -0400 Subject: [PATCH 09/17] fix preprocessor directive bug in lib/atc --- lib/atc/Function.cpp | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/lib/atc/Function.cpp b/lib/atc/Function.cpp index 6004937a01..12396937bd 100644 --- a/lib/atc/Function.cpp +++ b/lib/atc/Function.cpp @@ -63,11 +63,11 @@ namespace ATC { int narg = nargs -1; #ifdef _WIN32 double *dargs = (double *) _alloca(sizeof(double) * narg); -#endif +#else double *dargs = (double *) alloca(sizeof(double) * narg); #endif for (int i = 0; i < narg; ++i) dargs[i] = atof(args[i+1]); - + return function(type, narg, dargs); } -- GitLab From 1b4068b575e87acb31d9de74dfb25a184cc761f4 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 24 May 2018 15:31:22 -0600 Subject: [PATCH 10/17] Restore workaround for compiler bug in pair_snap.h --- src/SNAP/pair_snap.h | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/src/SNAP/pair_snap.h b/src/SNAP/pair_snap.h index b60ab3c3e4..d39cb0f8d4 100644 --- a/src/SNAP/pair_snap.h +++ b/src/SNAP/pair_snap.h @@ -37,8 +37,11 @@ public: virtual double init_one(int, int); virtual double memory_usage(); + double rcutfac, quadraticflag; // declared public to workaround gcc 4.9 + int ncoeff; // compiler bug, manifest in KOKKOS package + protected: - int ncoeff, ncoeffq, ncoeffall; + int ncoeffq, ncoeffall; double **bvec, ***dbvec; class SNA** sna; int nmax; @@ -97,8 +100,8 @@ protected: double *wjelem; // elements weights double **coeffelem; // element bispectrum coefficients int *map; // mapping from atom types to elements - int twojmax, diagonalstyle, switchflag, bzeroflag, quadraticflag; - double rcutfac, rfac0, rmin0, wj1, wj2; + int twojmax, diagonalstyle, switchflag, bzeroflag; + double rfac0, rmin0, wj1, wj2; int rcutfacflag, twojmaxflag; // flags for required parameters }; -- GitLab From 18c6d7f289cf195ab7558b4f6440f1e10715e9e6 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Thu, 24 May 2018 15:31:49 -0600 Subject: [PATCH 11/17] Fix possible MPI deadlock in pair_snap --- src/SNAP/pair_snap.cpp | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/src/SNAP/pair_snap.cpp b/src/SNAP/pair_snap.cpp index 2b1816950c..eaefb0325d 100644 --- a/src/SNAP/pair_snap.cpp +++ b/src/SNAP/pair_snap.cpp @@ -1529,11 +1529,11 @@ void PairSNAP::coeff(int narg, char **arg) sna[tid]->grow_rij(nmax); } - if (comm->me == 0) - if (ncoeff != sna[0]->ncoeff) { + if (ncoeff != sna[0]->ncoeff) { + if (comm->me == 0) printf("ncoeff = %d snancoeff = %d \n",ncoeff,sna[0]->ncoeff); - error->all(FLERR,"Incorrect SNAP parameter file"); - } + error->all(FLERR,"Incorrect SNAP parameter file"); + } // Calculate maximum cutoff for all elements -- GitLab From 1422b0413bd13f601603b63a05d96946d9ef1cd6 Mon Sep 17 00:00:00 2001 From: Stan Moore Date: Fri, 25 May 2018 15:00:53 -0600 Subject: [PATCH 12/17] Update Kokkos library to v2.7.00 --- lib/kokkos/CHANGELOG.md | 53 + lib/kokkos/CMakeLists.txt | 1 + lib/kokkos/Makefile.kokkos | 105 +- lib/kokkos/Makefile.targets | 18 + lib/kokkos/algorithms/src/Kokkos_Random.hpp | 16 + lib/kokkos/algorithms/src/Kokkos_Sort.hpp | 27 +- lib/kokkos/cmake/kokkos_build.cmake | 12 +- lib/kokkos/cmake/kokkos_options.cmake | 18 +- lib/kokkos/cmake/kokkos_settings.cmake | 16 + lib/kokkos/cmake/tribits.cmake | 4 +- lib/kokkos/config/test_all_sandia | 60 +- .../containers/performance_tests/TestCuda.cpp | 7 +- .../performance_tests/TestOpenMP.cpp | 4 +- .../performance_tests/TestThreads.cpp | 4 +- lib/kokkos/containers/src/Kokkos_Bitset.hpp | 2 +- lib/kokkos/containers/src/Kokkos_DualView.hpp | 65 +- .../containers/src/Kokkos_DynRankView.hpp | 245 ++--- .../containers/src/Kokkos_DynamicView.hpp | 32 +- .../containers/src/Kokkos_ScatterView.hpp | 13 +- .../containers/src/Kokkos_StaticCrsGraph.hpp | 72 +- lib/kokkos/containers/src/Kokkos_Vector.hpp | 9 +- .../impl/Kokkos_StaticCrsGraph_factory.hpp | 60 +- .../containers/unit_tests/CMakeLists.txt | 60 +- lib/kokkos/containers/unit_tests/Makefile | 75 +- .../containers/unit_tests/TestBitset.hpp | 8 +- lib/kokkos/containers/unit_tests/TestCuda.cpp | 256 ----- .../containers/unit_tests/TestDualView.hpp | 5 + .../containers/unit_tests/TestDynViewAPI.hpp | 76 +- .../unit_tests/TestDynViewAPI_generic.hpp | 50 + .../unit_tests/TestDynViewAPI_rank12345.hpp | 51 + .../unit_tests/TestDynViewAPI_rank67.hpp | 50 + .../containers/unit_tests/TestDynamicView.hpp | 10 + .../unit_tests/TestErrorReporter.hpp | 13 + .../containers/unit_tests/TestOpenMP.cpp | 212 ---- lib/kokkos/containers/unit_tests/TestROCm.cpp | 263 ----- .../containers/unit_tests/TestScatterView.hpp | 5 + .../containers/unit_tests/TestSerial.cpp | 203 ---- .../unit_tests/TestStaticCrsGraph.hpp | 88 +- .../containers/unit_tests/TestThreads.cpp | 199 ---- .../unit_tests/TestUnorderedMap.hpp | 19 +- .../containers/unit_tests/TestVector.hpp | 6 +- .../TestViewCtorPropEmbeddedDim.hpp | 3 + .../unit_tests/cuda/TestCuda_BitSet.cpp} | 2 +- .../unit_tests/cuda/TestCuda_Category.hpp | 65 ++ .../unit_tests/cuda/TestCuda_DualView.cpp} | 3 +- .../cuda/TestCuda_DynRankViewAPI_generic.cpp | 47 + .../TestCuda_DynRankViewAPI_rank12345.cpp | 47 + .../cuda/TestCuda_DynRankViewAPI_rank67.cpp | 47 + .../unit_tests/cuda/TestCuda_DynamicView.cpp | 47 + .../cuda/TestCuda_ErrorReporter.cpp | 47 + .../unit_tests/cuda/TestCuda_ScatterView.cpp | 47 + .../cuda/TestCuda_StaticCrsGraph.cpp | 47 + .../unit_tests/cuda/TestCuda_UnorderedMap.cpp | 47 + .../unit_tests/cuda/TestCuda_Vector.cpp | 47 + .../cuda/TestCuda_ViewCtorPropEmbeddedDim.cpp | 47 + .../unit_tests/openmp/TestOpenMP_BitSet.cpp} | 2 +- .../unit_tests/openmp/TestOpenMP_Category.hpp | 65 ++ .../openmp/TestOpenMP_DualView.cpp} | 3 +- .../TestOpenMP_DynRankViewAPI_generic.cpp | 47 + .../TestOpenMP_DynRankViewAPI_rank12345.cpp | 47 + .../TestOpenMP_DynRankViewAPI_rank67.cpp | 47 + .../openmp/TestOpenMP_DynamicView.cpp | 47 + .../openmp/TestOpenMP_ErrorReporter.cpp | 47 + .../openmp/TestOpenMP_ScatterView.cpp | 47 + .../openmp/TestOpenMP_StaticCrsGraph.cpp | 47 + .../openmp/TestOpenMP_UnorderedMap.cpp | 47 + .../unit_tests/openmp/TestOpenMP_Vector.cpp | 47 + .../TestOpenMP_ViewCtorPropEmbeddedDim.cpp | 47 + .../unit_tests/rocm/TestROCm_BitSet.cpp} | 2 +- .../unit_tests/rocm/TestROCm_Category.hpp | 65 ++ .../unit_tests/rocm/TestROCm_DualView.cpp} | 3 +- .../rocm/TestROCm_DynRankViewAPI_generic.cpp | 47 + .../TestROCm_DynRankViewAPI_rank12345.cpp | 47 + .../rocm/TestROCm_DynRankViewAPI_rank67.cpp | 47 + .../unit_tests/rocm/TestROCm_DynamicView.cpp | 47 + .../rocm/TestROCm_ErrorReporter.cpp | 47 + .../unit_tests/rocm/TestROCm_ScatterView.cpp | 47 + .../rocm/TestROCm_StaticCrsGraph.cpp | 47 + .../unit_tests/rocm/TestROCm_UnorderedMap.cpp | 47 + .../unit_tests/rocm/TestROCm_Vector.cpp | 47 + .../rocm/TestROCm_ViewCtorPropEmbeddedDim.cpp | 47 + .../unit_tests/serial/TestSerial_BitSet.cpp} | 2 +- .../unit_tests/serial/TestSerial_Category.hpp | 65 ++ .../serial/TestSerial_DualView.cpp} | 3 +- .../TestSerial_DynRankViewAPI_generic.cpp | 47 + .../TestSerial_DynRankViewAPI_rank12345.cpp | 47 + .../TestSerial_DynRankViewAPI_rank67.cpp | 47 + .../serial/TestSerial_DynamicView.cpp | 47 + .../serial/TestSerial_ErrorReporter.cpp | 47 + .../serial/TestSerial_ScatterView.cpp | 47 + .../serial/TestSerial_StaticCrsGraph.cpp | 47 + .../serial/TestSerial_UnorderedMap.cpp | 47 + .../unit_tests/serial/TestSerial_Vector.cpp | 47 + .../TestSerial_ViewCtorPropEmbeddedDim.cpp | 47 + .../threads/TestThreads_BitSet.cpp} | 2 +- .../threads/TestThreads_Category.hpp | 65 ++ .../threads/TestThreads_DualView.cpp} | 3 +- .../TestThreads_DynRankViewAPI_generic.cpp | 47 + .../TestThreads_DynRankViewAPI_rank12345.cpp | 47 + .../TestThreads_DynRankViewAPI_rank67.cpp | 47 + .../threads/TestThreads_DynamicView.cpp | 47 + .../threads/TestThreads_ErrorReporter.cpp | 47 + .../threads/TestThreads_ScatterView.cpp | 47 + .../threads/TestThreads_StaticCrsGraph.cpp | 47 + .../threads/TestThreads_UnorderedMap.cpp | 47 + .../unit_tests/threads/TestThreads_Vector.cpp | 47 + .../TestThreads_ViewCtorPropEmbeddedDim.cpp | 47 + lib/kokkos/core/cmake/KokkosCore_config.h.in | 39 +- lib/kokkos/core/perf_test/CMakeLists.txt | 14 + lib/kokkos/core/perf_test/Makefile | 9 +- lib/kokkos/core/perf_test/PerfTestDriver.hpp | 8 +- lib/kokkos/core/perf_test/PerfTestMDRange.hpp | 34 +- .../core/perf_test/PerfTest_Category.hpp | 4 +- .../perf_test/PerfTest_CustomReduction.cpp | 19 +- .../core/perf_test/PerfTest_ViewAllocate.cpp | 148 +++ .../core/perf_test/PerfTest_ViewCopy.cpp | 445 --------- .../core/perf_test/PerfTest_ViewCopy.hpp | 246 +++++ .../core/perf_test/PerfTest_ViewCopy_a123.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_a45.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_a6.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_a7.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_a8.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_b123.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_b45.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_b6.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_b7.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_b8.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_c123.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_c45.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_c6.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_c7.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_c8.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_d123.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_d45.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_d6.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_d7.cpp | 50 + .../core/perf_test/PerfTest_ViewCopy_d8.cpp | 50 + .../core/perf_test/PerfTest_ViewFill.hpp | 228 +++++ .../core/perf_test/PerfTest_ViewFill_123.cpp | 53 + .../core/perf_test/PerfTest_ViewFill_45.cpp | 53 + .../core/perf_test/PerfTest_ViewFill_6.cpp | 53 + .../core/perf_test/PerfTest_ViewFill_7.cpp | 53 + .../core/perf_test/PerfTest_ViewFill_8.cpp | 53 + .../core/perf_test/PerfTest_ViewResize.hpp | 267 +++++ .../perf_test/PerfTest_ViewResize_123.cpp | 55 ++ .../core/perf_test/PerfTest_ViewResize_45.cpp | 55 ++ .../core/perf_test/PerfTest_ViewResize_6.cpp | 55 ++ .../core/perf_test/PerfTest_ViewResize_7.cpp | 55 ++ .../core/perf_test/PerfTest_ViewResize_8.cpp | 55 ++ lib/kokkos/core/perf_test/test_taskdag.cpp | 115 +-- lib/kokkos/core/src/CMakeLists.txt | 12 + .../src/Cuda/KokkosExp_Cuda_IterateTile.hpp | 2 +- lib/kokkos/core/src/Cuda/Kokkos_CudaSpace.cpp | 50 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Impl.cpp | 38 +- .../core/src/Cuda/Kokkos_Cuda_Parallel.hpp | 282 +++++- .../core/src/Cuda/Kokkos_Cuda_ReduceScan.hpp | 51 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Task.hpp | 34 +- lib/kokkos/core/src/Cuda/Kokkos_Cuda_Team.hpp | 32 +- .../core/src/Cuda/Kokkos_Cuda_UniqueToken.hpp | 62 +- .../src/Cuda/Kokkos_Cuda_Vectorization.hpp | 130 ++- .../Kokkos_Cuda_Version_9_8_Compatibility.hpp | 9 +- .../src/Cuda/Kokkos_Cuda_ViewCopyETIAvail.hpp | 57 ++ .../src/Cuda/Kokkos_Cuda_ViewCopyETIDecl.hpp | 57 ++ .../core/src/KokkosExp_MDRangePolicy.hpp | 47 +- lib/kokkos/core/src/Kokkos_Array.hpp | 116 ++- lib/kokkos/core/src/Kokkos_Atomic.hpp | 2 +- lib/kokkos/core/src/Kokkos_Complex.hpp | 12 +- lib/kokkos/core/src/Kokkos_CopyViews.hpp | 386 ++++++-- lib/kokkos/core/src/Kokkos_Core.hpp | 52 + lib/kokkos/core/src/Kokkos_Core_fwd.hpp | 48 +- lib/kokkos/core/src/Kokkos_Cuda.hpp | 24 +- lib/kokkos/core/src/Kokkos_CudaSpace.hpp | 2 + lib/kokkos/core/src/Kokkos_ExecPolicy.hpp | 71 +- lib/kokkos/core/src/Kokkos_HBWSpace.hpp | 2 + lib/kokkos/core/src/Kokkos_HostSpace.hpp | 4 +- lib/kokkos/core/src/Kokkos_Macros.hpp | 28 +- lib/kokkos/core/src/Kokkos_MemoryPool.hpp | 61 +- lib/kokkos/core/src/Kokkos_OpenMP.hpp | 100 +- lib/kokkos/core/src/Kokkos_Pair.hpp | 16 +- lib/kokkos/core/src/Kokkos_Parallel.hpp | 104 +- .../core/src/Kokkos_Parallel_Reduce.hpp | 43 +- lib/kokkos/core/src/Kokkos_ROCmSpace.hpp | 4 + lib/kokkos/core/src/Kokkos_Serial.hpp | 210 +++- lib/kokkos/core/src/Kokkos_Threads.hpp | 77 +- lib/kokkos/core/src/Kokkos_Timer.hpp | 42 +- lib/kokkos/core/src/Kokkos_View.hpp | 333 +++++-- .../core/src/Kokkos_WorkGraphPolicy.hpp | 1 + .../core/src/Makefile.generate_build_files | 1 + .../core/src/OpenMP/Kokkos_OpenMP_Exec.cpp | 34 +- .../core/src/OpenMP/Kokkos_OpenMP_Exec.hpp | 53 +- .../src/OpenMP/Kokkos_OpenMP_Parallel.hpp | 178 +++- .../core/src/OpenMP/Kokkos_OpenMP_Task.cpp | 11 +- .../core/src/OpenMP/Kokkos_OpenMP_Team.hpp | 95 +- .../OpenMP/Kokkos_OpenMP_ViewCopyETIAvail.hpp | 57 ++ .../OpenMP/Kokkos_OpenMP_ViewCopyETIDecl.hpp | 57 ++ .../OpenMP/Kokkos_OpenMP_WorkGraphPolicy.hpp | 5 +- .../OpenMPTarget/Kokkos_OpenMPTargetSpace.cpp | 14 +- .../OpenMPTarget/Kokkos_OpenMPTarget_Exec.cpp | 2 +- .../OpenMPTarget/Kokkos_OpenMPTarget_Exec.hpp | 52 +- .../Kokkos_OpenMPTarget_Parallel.hpp | 14 +- .../src/Qthreads/Kokkos_Qthreads_Parallel.hpp | 7 + .../core/src/ROCm/Kokkos_ROCm_Atomic.hpp | 19 +- lib/kokkos/core/src/ROCm/Kokkos_ROCm_Exec.hpp | 16 +- .../core/src/ROCm/Kokkos_ROCm_Parallel.hpp | 131 ++- .../core/src/ROCm/Kokkos_ROCm_Reduce.hpp | 9 +- .../core/src/ROCm/Kokkos_ROCm_Space.cpp | 115 +-- lib/kokkos/core/src/ROCm/Kokkos_ROCm_Task.hpp | 11 + lib/kokkos/core/src/ROCm/Kokkos_ROCm_Tile.hpp | 6 +- .../src/ROCm/Kokkos_ROCm_ViewCopyETIAvail.hpp | 57 ++ .../src/ROCm/Kokkos_ROCm_ViewCopyETIDecl.hpp | 57 ++ .../Serial/Kokkos_Serial_ViewCopyETIAvail.hpp | 57 ++ .../Serial/Kokkos_Serial_ViewCopyETIDecl.hpp | 57 ++ .../core/src/Threads/Kokkos_ThreadsExec.cpp | 37 +- .../core/src/Threads/Kokkos_ThreadsExec.hpp | 32 +- .../src/Threads/Kokkos_ThreadsExec_base.cpp | 4 +- .../core/src/Threads/Kokkos_ThreadsTeam.hpp | 87 +- .../src/Threads/Kokkos_Threads_Parallel.hpp | 106 +- .../Kokkos_Threads_ViewCopyETIAvail.hpp | 57 ++ .../Kokkos_Threads_ViewCopyETIDecl.hpp | 57 ++ lib/kokkos/core/src/eti/CMakeLists.txt | 22 + lib/kokkos/core/src/eti/Cuda/CMakeLists.txt | 148 +++ ...TIInst_int64_t_double_LayoutLeft_Rank1.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank2.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank3.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank4.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank5.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank8.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank1.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank2.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank3.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank4.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank5.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank8.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank1.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank2.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank3.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank4.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank5.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank8.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank1.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank2.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank3.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank4.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank5.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank8.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank1.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank2.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank3.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank4.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank5.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank8.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank1.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank2.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank3.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank4.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank5.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank8.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank1.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank2.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank3.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank4.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank5.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank8.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank1.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank2.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank3.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank4.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank5.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank8.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank1.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank2.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank3.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank4.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank5.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank8.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank1.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank2.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank3.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank4.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank5.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank8.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank1.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank2.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank3.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank4.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank5.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank8.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank1.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank2.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank3.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank4.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank5.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank8.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank1.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank2.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank3.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank4.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank5.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank8.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank1.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank2.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank3.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank4.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank5.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank8.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank1.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank2.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank3.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank4.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank5.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank8.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank1.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank2.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank3.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank4.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank5.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank8.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank1.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank2.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank3.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank4.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank5.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank8.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank1.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank2.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank3.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank4.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank5.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank8.cpp | 54 + .../core/src/eti/Cuda/Makefile.eti_Cuda | 288 ++++++ lib/kokkos/core/src/eti/OpenMP/CMakeLists.txt | 148 +++ ...TIInst_int64_t_double_LayoutLeft_Rank1.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank2.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank3.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank4.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank5.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank8.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank1.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank2.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank3.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank4.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank5.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank8.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank1.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank2.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank3.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank4.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank5.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank8.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank1.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank2.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank3.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank4.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank5.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank8.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank1.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank2.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank3.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank4.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank5.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank8.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank1.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank2.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank3.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank4.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank5.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank8.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank1.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank2.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank3.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank4.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank5.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank8.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank1.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank2.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank3.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank4.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank5.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank8.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank1.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank2.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank3.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank4.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank5.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank8.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank1.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank2.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank3.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank4.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank5.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank8.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank1.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank2.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank3.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank4.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank5.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank8.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank1.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank2.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank3.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank4.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank5.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank8.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank1.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank2.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank3.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank4.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank5.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank8.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank1.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank2.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank3.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank4.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank5.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank8.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank1.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank2.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank3.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank4.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank5.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank8.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank1.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank2.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank3.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank4.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank5.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank8.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank1.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank2.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank3.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank4.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank5.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank8.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank1.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank2.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank3.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank4.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank5.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank8.cpp | 54 + .../core/src/eti/OpenMP/Makefile.eti_OpenMP | 288 ++++++ lib/kokkos/core/src/eti/ROCm/CMakeLists.txt | 148 +++ ...TIInst_int64_t_double_LayoutLeft_Rank1.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank2.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank3.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank4.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank5.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank8.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank1.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank2.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank3.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank4.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank5.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank8.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank1.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank2.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank3.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank4.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank5.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank8.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank1.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank2.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank3.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank4.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank5.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank8.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank1.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank2.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank3.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank4.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank5.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank8.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank1.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank2.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank3.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank4.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank5.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank8.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank1.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank2.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank3.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank4.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank5.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank8.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank1.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank2.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank3.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank4.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank5.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank8.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank1.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank2.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank3.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank4.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank5.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank8.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank1.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank2.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank3.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank4.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank5.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank8.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank1.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank2.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank3.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank4.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank5.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank8.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank1.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank2.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank3.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank4.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank5.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank8.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank1.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank2.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank3.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank4.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank5.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank8.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank1.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank2.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank3.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank4.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank5.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank8.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank1.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank2.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank3.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank4.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank5.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank8.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank1.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank2.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank3.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank4.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank5.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank8.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank1.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank2.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank3.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank4.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank5.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank8.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank1.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank2.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank3.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank4.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank5.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank8.cpp | 54 + .../eti/ROCm/Makefile.eti_Experimental::ROCm | 288 ++++++ lib/kokkos/core/src/eti/Serial/CMakeLists.txt | 148 +++ ...TIInst_int64_t_double_LayoutLeft_Rank1.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank2.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank3.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank4.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank5.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank8.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank1.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank2.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank3.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank4.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank5.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank8.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank1.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank2.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank3.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank4.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank5.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank8.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank1.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank2.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank3.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank4.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank5.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank8.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank1.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank2.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank3.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank4.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank5.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank8.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank1.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank2.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank3.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank4.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank5.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank8.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank1.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank2.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank3.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank4.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank5.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank8.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank1.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank2.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank3.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank4.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank5.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank8.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank1.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank2.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank3.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank4.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank5.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank8.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank1.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank2.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank3.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank4.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank5.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank8.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank1.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank2.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank3.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank4.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank5.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank8.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank1.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank2.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank3.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank4.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank5.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank8.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank1.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank2.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank3.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank4.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank5.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank8.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank1.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank2.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank3.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank4.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank5.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank8.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank1.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank2.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank3.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank4.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank5.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank8.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank1.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank2.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank3.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank4.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank5.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank8.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank1.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank2.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank3.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank4.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank5.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank8.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank1.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank2.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank3.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank4.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank5.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank8.cpp | 54 + .../core/src/eti/Serial/Makefile.eti_Serial | 288 ++++++ .../core/src/eti/Threads/CMakeLists.txt | 148 +++ ...TIInst_int64_t_double_LayoutLeft_Rank1.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank2.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank3.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank4.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank5.cpp | 54 + ...TIInst_int64_t_double_LayoutLeft_Rank8.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank1.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank2.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank3.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank4.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank5.cpp | 54 + ...IInst_int64_t_double_LayoutRight_Rank8.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank1.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank2.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank3.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank4.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank5.cpp | 54 + ...Inst_int64_t_double_LayoutStride_Rank8.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank1.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank2.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank3.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank4.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank5.cpp | 54 + ...ETIInst_int64_t_float_LayoutLeft_Rank8.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank1.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank2.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank3.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank4.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank5.cpp | 54 + ...TIInst_int64_t_float_LayoutRight_Rank8.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank1.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank2.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank3.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank4.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank5.cpp | 54 + ...IInst_int64_t_float_LayoutStride_Rank8.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank1.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank2.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank3.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank4.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank5.cpp | 54 + ...IInst_int64_t_int64_t_LayoutLeft_Rank8.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank1.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank2.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank3.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank4.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank5.cpp | 54 + ...Inst_int64_t_int64_t_LayoutRight_Rank8.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank1.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank2.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank3.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank4.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank5.cpp | 54 + ...nst_int64_t_int64_t_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int64_t_int_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int64_t_int_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int64_t_int_LayoutStride_Rank8.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank1.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank2.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank3.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank4.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank5.cpp | 54 + ...opyETIInst_int_double_LayoutLeft_Rank8.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank1.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank2.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank3.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank4.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank5.cpp | 54 + ...pyETIInst_int_double_LayoutRight_Rank8.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank1.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank2.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank3.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank4.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank5.cpp | 54 + ...yETIInst_int_double_LayoutStride_Rank8.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank1.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank2.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank3.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank4.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank5.cpp | 54 + ...CopyETIInst_int_float_LayoutLeft_Rank8.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank1.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank2.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank3.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank4.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank5.cpp | 54 + ...opyETIInst_int_float_LayoutRight_Rank8.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank1.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank2.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank3.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank4.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank5.cpp | 54 + ...pyETIInst_int_float_LayoutStride_Rank8.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank1.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank2.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank3.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank4.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank5.cpp | 54 + ...pyETIInst_int_int64_t_LayoutLeft_Rank8.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank1.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank2.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank3.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank4.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank5.cpp | 54 + ...yETIInst_int_int64_t_LayoutRight_Rank8.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank1.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank2.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank3.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank4.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank5.cpp | 54 + ...ETIInst_int_int64_t_LayoutStride_Rank8.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank1.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank2.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank3.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank4.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank5.cpp | 54 + ...ewCopyETIInst_int_int_LayoutLeft_Rank8.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank1.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank2.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank3.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank4.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank5.cpp | 54 + ...wCopyETIInst_int_int_LayoutRight_Rank8.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank1.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank2.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank3.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank4.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank5.cpp | 54 + ...CopyETIInst_int_int_LayoutStride_Rank8.cpp | 54 + .../core/src/eti/Threads/Makefile.eti_Threads | 288 ++++++ .../Kokkos_ViewFillCopyETIAvail_Macros.hpp | 576 +++++++++++ .../Kokkos_ViewFillCopyETIDecl_Macros.hpp | 576 +++++++++++ .../src/impl/KokkosExp_Host_IterateTile.hpp | 4 +- .../core/src/impl/Kokkos_Atomic_Fetch_Add.hpp | 2 +- lib/kokkos/core/src/impl/Kokkos_BitOps.hpp | 53 +- lib/kokkos/core/src/impl/Kokkos_Core.cpp | 119 ++- lib/kokkos/core/src/impl/Kokkos_Error.hpp | 2 +- lib/kokkos/core/src/impl/Kokkos_HBWSpace.cpp | 14 +- .../core/src/impl/Kokkos_HostBarrier.cpp | 190 +--- .../core/src/impl/Kokkos_HostBarrier.hpp | 276 ++++-- lib/kokkos/core/src/impl/Kokkos_HostSpace.cpp | 13 +- .../core/src/impl/Kokkos_HostThreadTeam.cpp | 5 + .../core/src/impl/Kokkos_HostThreadTeam.hpp | 128 ++- .../core/src/impl/Kokkos_Memory_Fence.hpp | 48 +- lib/kokkos/core/src/impl/Kokkos_OldMacros.hpp | 66 ++ lib/kokkos/core/src/impl/Kokkos_Serial.cpp | 15 +- .../core/src/impl/Kokkos_SharedAlloc.cpp | 125 ++- .../core/src/impl/Kokkos_SharedAlloc.hpp | 15 +- lib/kokkos/core/src/impl/Kokkos_Spinwait.cpp | 2 +- lib/kokkos/core/src/impl/Kokkos_TaskQueue.hpp | 6 +- lib/kokkos/core/src/impl/Kokkos_ViewArray.hpp | 4 +- .../src/impl/Kokkos_ViewFillCopyETIAvail.hpp | 106 ++ .../src/impl/Kokkos_ViewFillCopyETIDecl.hpp | 97 ++ .../core/src/impl/Kokkos_ViewMapping.hpp | 6 +- lib/kokkos/core/src/impl/Kokkos_ViewTile.hpp | 23 +- .../core/src/impl/Kokkos_ViewUniformType.hpp | 101 ++ lib/kokkos/core/unit_test/CMakeLists.txt | 128 ++- lib/kokkos/core/unit_test/Makefile | 129 ++- lib/kokkos/core/unit_test/TestAtomic.hpp | 70 +- .../core/unit_test/TestAtomicOperations.hpp | 82 +- .../unit_test/TestAtomicOperations_double.hpp | 59 ++ .../unit_test/TestAtomicOperations_float.hpp | 59 ++ .../unit_test/TestAtomicOperations_int.hpp | 66 ++ .../TestAtomicOperations_longint.hpp | 66 ++ .../TestAtomicOperations_longlongint.hpp | 66 ++ .../TestAtomicOperations_unsignedint.hpp | 66 ++ .../TestAtomicOperations_unsignedlongint.hpp | 66 ++ lib/kokkos/core/unit_test/TestComplex.hpp | 11 +- .../unit_test/TestDefaultDeviceTypeInit.hpp | 10 +- lib/kokkos/core/unit_test/TestHostBarrier.cpp | 16 + lib/kokkos/core/unit_test/TestMDRange.hpp | 51 +- lib/kokkos/core/unit_test/TestMDRange_a.hpp | 51 + lib/kokkos/core/unit_test/TestMDRange_b.hpp | 54 + lib/kokkos/core/unit_test/TestMDRange_c.hpp | 58 ++ lib/kokkos/core/unit_test/TestMDRange_d.hpp | 59 ++ lib/kokkos/core/unit_test/TestMDRange_e.hpp | 51 + .../core/unit_test/TestPolicyConstruction.hpp | 32 + lib/kokkos/core/unit_test/TestRange.hpp | 12 + lib/kokkos/core/unit_test/TestReduce.hpp | 879 +---------------- .../unit_test/TestReduceCombinatorical.hpp | 61 +- lib/kokkos/core/unit_test/TestReducers.hpp | 920 ++++++++++++++++++ lib/kokkos/core/unit_test/TestReducers_a.hpp | 52 + lib/kokkos/core/unit_test/TestReducers_b.hpp | 51 + lib/kokkos/core/unit_test/TestReducers_c.hpp | 51 + lib/kokkos/core/unit_test/TestReducers_d.hpp | 53 + lib/kokkos/core/unit_test/TestScan.hpp | 12 +- lib/kokkos/core/unit_test/TestSharedAlloc.hpp | 8 + .../core/unit_test/TestTaskScheduler.hpp | 111 ++- lib/kokkos/core/unit_test/TestTeam.hpp | 33 +- lib/kokkos/core/unit_test/TestTeamVector.hpp | 120 ++- lib/kokkos/core/unit_test/TestViewAPI.hpp | 201 +--- lib/kokkos/core/unit_test/TestViewAPI_a.hpp | 55 ++ lib/kokkos/core/unit_test/TestViewAPI_b.hpp | 57 ++ lib/kokkos/core/unit_test/TestViewAPI_c.hpp | 56 ++ lib/kokkos/core/unit_test/TestViewAPI_d.hpp | 59 ++ lib/kokkos/core/unit_test/TestViewAPI_e.hpp | 204 ++++ .../core/unit_test/TestViewMapping_a.hpp | 51 +- .../unit_test/TestViewMapping_subview.hpp | 1 - lib/kokkos/core/unit_test/TestView_64bit.hpp | 125 +++ .../cuda/TestCudaHostPinned_Category.hpp | 5 +- ...I.cpp => TestCudaHostPinned_ViewAPI_a.cpp} | 2 +- .../cuda/TestCudaHostPinned_ViewAPI_b.cpp | 45 + .../cuda/TestCudaHostPinned_ViewAPI_c.cpp | 45 + .../cuda/TestCudaHostPinned_ViewAPI_d.cpp | 45 + .../cuda/TestCudaHostPinned_ViewAPI_e.cpp | 45 + .../unit_test/cuda/TestCudaUVM_Category.hpp | 4 +- ..._ViewAPI.cpp => TestCudaUVM_ViewAPI_a.cpp} | 2 +- .../unit_test/cuda/TestCudaUVM_ViewAPI_b.cpp | 45 + .../unit_test/cuda/TestCudaUVM_ViewAPI_c.cpp | 45 + .../unit_test/cuda/TestCudaUVM_ViewAPI_d.cpp | 45 + .../unit_test/cuda/TestCudaUVM_ViewAPI_e.cpp | 45 + .../cuda/TestCuda_AtomicOperations_double.cpp | 46 + .../cuda/TestCuda_AtomicOperations_float.cpp | 46 + .../cuda/TestCuda_AtomicOperations_int.cpp | 46 + .../TestCuda_AtomicOperations_longint.cpp | 46 + .../TestCuda_AtomicOperations_longlongint.cpp | 46 + .../TestCuda_AtomicOperations_unsignedint.cpp | 46 + ...tCuda_AtomicOperations_unsignedlongint.cpp | 46 + .../core/unit_test/cuda/TestCuda_Category.hpp | 4 +- .../unit_test/cuda/TestCuda_MDRange_a.cpp | 47 + .../unit_test/cuda/TestCuda_MDRange_b.cpp | 47 + .../unit_test/cuda/TestCuda_MDRange_c.cpp | 47 + .../unit_test/cuda/TestCuda_MDRange_d.cpp | 47 + .../unit_test/cuda/TestCuda_MDRange_e.cpp | 47 + .../unit_test/cuda/TestCuda_Reducers_a.cpp | 45 + .../unit_test/cuda/TestCuda_Reducers_b.cpp | 45 + .../unit_test/cuda/TestCuda_Reducers_c.cpp | 45 + .../unit_test/cuda/TestCuda_Reducers_d.cpp | 45 + .../unit_test/cuda/TestCuda_Reductions.cpp | 2 - .../cuda/TestCuda_TeamReductionScan.cpp | 2 +- .../unit_test/cuda/TestCuda_ViewAPI_a.cpp | 45 + .../unit_test/cuda/TestCuda_ViewAPI_b.cpp | 2 +- .../unit_test/cuda/TestCuda_ViewAPI_c.cpp | 45 + .../unit_test/cuda/TestCuda_ViewAPI_d.cpp | 45 + .../unit_test/cuda/TestCuda_ViewAPI_e.cpp | 45 + .../unit_test/cuda/TestCuda_View_64bit.cpp | 45 + .../TestDefaultDeviceType_Category.hpp | 4 +- ...ype_a.cpp => TestDefaultDeviceType_a1.cpp} | 4 +- .../default/TestDefaultDeviceType_a2.cpp | 63 ++ .../default/TestDefaultDeviceType_a3.cpp | 63 ++ ...ype_b.cpp => TestDefaultDeviceType_b1.cpp} | 4 +- .../default/TestDefaultDeviceType_b2.cpp | 62 ++ .../default/TestDefaultDeviceType_b3.cpp | 62 ++ ...ype_c.cpp => TestDefaultDeviceType_c1.cpp} | 4 +- .../default/TestDefaultDeviceType_c2.cpp | 64 ++ .../default/TestDefaultDeviceType_c3.cpp | 64 ++ .../TestOpenMP_AtomicOperations_double.cpp | 46 + .../TestOpenMP_AtomicOperations_float.cpp | 46 + .../TestOpenMP_AtomicOperations_int.cpp | 46 + .../TestOpenMP_AtomicOperations_longint.cpp | 46 + ...estOpenMP_AtomicOperations_longlongint.cpp | 46 + ...estOpenMP_AtomicOperations_unsignedint.cpp | 46 + ...penMP_AtomicOperations_unsignedlongint.cpp | 46 + .../unit_test/openmp/TestOpenMP_Category.hpp | 4 +- .../unit_test/openmp/TestOpenMP_MDRange_a.cpp | 47 + .../unit_test/openmp/TestOpenMP_MDRange_b.cpp | 47 + .../unit_test/openmp/TestOpenMP_MDRange_c.cpp | 47 + .../unit_test/openmp/TestOpenMP_MDRange_d.cpp | 47 + .../unit_test/openmp/TestOpenMP_MDRange_e.cpp | 47 + .../unit_test/openmp/TestOpenMP_Other.cpp | 18 +- .../openmp/TestOpenMP_Reducers_a.cpp | 45 + .../openmp/TestOpenMP_Reducers_b.cpp | 45 + .../openmp/TestOpenMP_Reducers_c.cpp | 45 + .../openmp/TestOpenMP_Reducers_d.cpp | 45 + .../openmp/TestOpenMP_Reductions.cpp | 1 - .../unit_test/openmp/TestOpenMP_ViewAPI_a.cpp | 45 + .../unit_test/openmp/TestOpenMP_ViewAPI_b.cpp | 2 +- .../unit_test/openmp/TestOpenMP_ViewAPI_c.cpp | 45 + .../unit_test/openmp/TestOpenMP_ViewAPI_d.cpp | 45 + .../unit_test/openmp/TestOpenMP_ViewAPI_e.cpp | 45 + .../openmp/TestOpenMP_View_64bit.cpp | 45 + .../openmptarget/TestOpenMPTarget.hpp | 4 +- ...stOpenMPTarget_AtomicOperations_double.cpp | 46 + ...estOpenMPTarget_AtomicOperations_float.cpp | 46 + .../TestOpenMPTarget_AtomicOperations_int.cpp | 46 + ...tOpenMPTarget_AtomicOperations_longint.cpp | 46 + ...nMPTarget_AtomicOperations_longlongint.cpp | 46 + ...nMPTarget_AtomicOperations_unsignedint.cpp | 46 + ...arget_AtomicOperations_unsignedlongint.cpp | 46 + .../TestOpenMPTarget_Category.hpp | 4 +- ...nge.cpp => TestOpenMPTarget_MDRange_a.cpp} | 2 +- ...ons.cpp => TestOpenMPTarget_MDRange_b.cpp} | 3 +- .../TestOpenMPTarget_MDRange_c.cpp | 47 + .../TestOpenMPTarget_MDRange_d.cpp | 47 + .../TestOpenMPTarget_MDRange_e.cpp | 47 + .../TestOpenMPTarget_Reducers_a.cpp | 45 + .../TestOpenMPTarget_Reducers_b.cpp | 45 + .../TestOpenMPTarget_Reducers_c.cpp | 45 + .../TestOpenMPTarget_Reducers_d.cpp | 45 + .../TestOpenMPTarget_ViewAPI_a.cpp | 45 + .../TestOpenMPTarget_ViewAPI_b.cpp | 2 +- .../TestOpenMPTarget_ViewAPI_c.cpp | 45 + .../TestOpenMPTarget_ViewAPI_d.cpp | 45 + .../TestOpenMPTarget_ViewAPI_e.cpp | 45 + .../TestQqthreads_AtomicOperations_double.cpp | 46 + .../TestQqthreads_AtomicOperations_float.cpp | 46 + .../TestQqthreads_AtomicOperations_int.cpp | 46 + ...TestQqthreads_AtomicOperations_longint.cpp | 46 + ...Qqthreads_AtomicOperations_longlongint.cpp | 46 + ...Qqthreads_AtomicOperations_unsignedint.cpp | 46 + ...reads_AtomicOperations_unsignedlongint.cpp | 46 + .../qthreads/TestQqthreads_MDRange_a.cpp | 47 + .../qthreads/TestQqthreads_MDRange_b.cpp | 47 + .../qthreads/TestQqthreads_MDRange_c.cpp | 47 + .../qthreads/TestQqthreads_MDRange_d.cpp | 47 + .../qthreads/TestQqthreads_MDRange_e.cpp | 47 + .../qthreads/TestQqthreads_ViewAPI_a.cpp | 45 + .../qthreads/TestQqthreads_ViewAPI_b.cpp | 45 + .../qthreads/TestQqthreads_ViewAPI_c.cpp | 45 + .../qthreads/TestQqthreads_ViewAPI_d.cpp | 45 + .../qthreads/TestQqthreads_ViewAPI_e.cpp | 45 + .../qthreads/TestQthreads_Category.hpp | 4 +- .../rocm/TestROCmHostPinned_Category.hpp | 4 +- ...I.cpp => TestROCmHostPinned_ViewAPI_a.cpp} | 2 +- .../rocm/TestROCmHostPinned_ViewAPI_b.cpp | 45 + .../rocm/TestROCmHostPinned_ViewAPI_c.cpp | 45 + .../rocm/TestROCmHostPinned_ViewAPI_d.cpp | 45 + .../rocm/TestROCmHostPinned_ViewAPI_e.cpp | 45 + .../rocm/TestROCmHostPinned_View_64bit.cpp | 45 + .../rocm/TestROCm_AtomicOperations_double.cpp | 46 + .../rocm/TestROCm_AtomicOperations_float.cpp | 46 + .../rocm/TestROCm_AtomicOperations_int.cpp | 46 + .../TestROCm_AtomicOperations_longint.cpp | 46 + .../TestROCm_AtomicOperations_longlongint.cpp | 46 + .../TestROCm_AtomicOperations_unsignedint.cpp | 46 + ...tROCm_AtomicOperations_unsignedlongint.cpp | 46 + .../unit_test/rocm/TestROCm_MDRange_a.cpp | 47 + .../unit_test/rocm/TestROCm_MDRange_b.cpp | 47 + .../unit_test/rocm/TestROCm_MDRange_c.cpp | 47 + .../unit_test/rocm/TestROCm_MDRange_d.cpp | 47 + .../unit_test/rocm/TestROCm_MDRange_e.cpp | 47 + .../unit_test/rocm/TestROCm_Reducers_a.cpp | 45 + .../unit_test/rocm/TestROCm_Reducers_b.cpp | 45 + .../unit_test/rocm/TestROCm_Reducers_c.cpp | 45 + .../unit_test/rocm/TestROCm_Reducers_d.cpp | 45 + .../unit_test/rocm/TestROCm_Reductions.cpp | 2 - .../unit_test/rocm/TestROCm_SubView_c01.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c02.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c03.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c04.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c05.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c06.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c07.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c08.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c09.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c10.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c11.cpp | 2 +- .../unit_test/rocm/TestROCm_SubView_c12.cpp | 2 +- .../unit_test/rocm/TestROCm_ViewAPI_a.cpp | 45 + .../unit_test/rocm/TestROCm_ViewAPI_b.cpp | 2 +- .../unit_test/rocm/TestROCm_ViewAPI_c.cpp | 45 + .../unit_test/rocm/TestROCm_ViewAPI_d.cpp | 45 + .../unit_test/rocm/TestROCm_ViewAPI_e.cpp | 45 + .../TestSerial_AtomicOperations_double.cpp | 46 + .../TestSerial_AtomicOperations_float.cpp | 46 + .../TestSerial_AtomicOperations_int.cpp | 46 + .../TestSerial_AtomicOperations_longint.cpp | 46 + ...estSerial_AtomicOperations_longlongint.cpp | 46 + ...estSerial_AtomicOperations_unsignedint.cpp | 46 + ...erial_AtomicOperations_unsignedlongint.cpp | 46 + .../unit_test/serial/TestSerial_Category.hpp | 4 +- .../unit_test/serial/TestSerial_MDRange_a.cpp | 47 + .../unit_test/serial/TestSerial_MDRange_b.cpp | 47 + .../unit_test/serial/TestSerial_MDRange_c.cpp | 47 + .../unit_test/serial/TestSerial_MDRange_d.cpp | 47 + .../unit_test/serial/TestSerial_MDRange_e.cpp | 47 + .../serial/TestSerial_Reducers_a.cpp | 45 + .../serial/TestSerial_Reducers_b.cpp | 45 + .../serial/TestSerial_Reducers_c.cpp | 45 + .../serial/TestSerial_Reducers_d.cpp | 45 + .../serial/TestSerial_Reductions.cpp | 1 - .../unit_test/serial/TestSerial_ViewAPI_a.cpp | 45 + .../unit_test/serial/TestSerial_ViewAPI_b.cpp | 2 +- .../unit_test/serial/TestSerial_ViewAPI_c.cpp | 45 + .../unit_test/serial/TestSerial_ViewAPI_d.cpp | 45 + .../unit_test/serial/TestSerial_ViewAPI_e.cpp | 45 + .../serial/TestSerial_View_64bit.cpp | 45 + .../core/unit_test/threads/TestThreads.hpp | 111 --- .../TestThreads_AtomicOperations_double.cpp | 46 + .../TestThreads_AtomicOperations_float.cpp | 46 + .../TestThreads_AtomicOperations_int.cpp | 46 + .../TestThreads_AtomicOperations_longint.cpp | 46 + ...stThreads_AtomicOperations_longlongint.cpp | 46 + ...stThreads_AtomicOperations_unsignedint.cpp | 46 + ...reads_AtomicOperations_unsignedlongint.cpp | 46 + .../threads/TestThreads_MDRange_a.cpp | 47 + .../threads/TestThreads_MDRange_b.cpp | 47 + .../threads/TestThreads_MDRange_c.cpp | 47 + .../threads/TestThreads_MDRange_d.cpp | 47 + .../threads/TestThreads_MDRange_e.cpp | 47 + .../threads/TestThreads_Reducers_a.cpp | 45 + .../threads/TestThreads_Reducers_b.cpp | 45 + .../threads/TestThreads_Reducers_c.cpp | 45 + .../threads/TestThreads_Reducers_d.cpp | 45 + .../threads/TestThreads_ViewAPI_a.cpp | 45 + .../threads/TestThreads_ViewAPI_b.cpp | 2 +- .../threads/TestThreads_ViewAPI_c.cpp | 45 + .../threads/TestThreads_ViewAPI_d.cpp | 45 + .../threads/TestThreads_ViewAPI_e.cpp | 45 + .../threads/TestThreads_View_64bit.cpp | 45 + lib/kokkos/doc/kokkos-promotion.txt | 110 ++- lib/kokkos/example/feint/Makefile | 4 + lib/kokkos/example/feint/feint_serial.cpp | 67 ++ lib/kokkos/example/feint/main.cpp | 78 +- lib/kokkos/example/fenl/CGSolve.hpp | 6 +- lib/kokkos/example/fenl/fenl.cpp | 21 + lib/kokkos/example/fenl/main.cpp | 95 +- lib/kokkos/example/fixture/Main.cpp | 16 +- lib/kokkos/example/make_buildlink/Makefile | 50 + lib/kokkos/example/make_buildlink/README | 2 + lib/kokkos/example/make_buildlink/main.cpp | 14 + .../example/multi_fem/SparseLinearSystem.hpp | 6 +- .../tutorial/03_simple_view/simple_view.cpp | 44 +- .../simple_view_lambda.cpp | 90 +- .../simple_memoryspaces.cpp | 34 +- .../05_simple_atomics/simple_atomics.cpp | 46 +- .../01_data_layouts/data_layouts.cpp | 78 +- .../02_memory_traits/memory_traits.cpp | 62 +- .../Advanced_Views/03_subviews/subviews.cpp | 82 +- .../05_NVIDIA_UVM/uvm_example.cpp | 94 +- .../03_vectorization/vectorization.cpp | 38 +- .../04_team_scan/team_scan.cpp | 11 +- lib/kokkos/generate_makefile.bash | 15 + lib/kokkos/master_history.txt | 1 + .../scripts/eti/generate_view_copy_cpp_files | 12 + .../eti/generate_view_copy_cpp_files_iterate | 21 + .../eti/generate_view_copy_cpp_files_rank | 17 + .../eti/generate_view_copy_cpp_files_write | 41 + 1248 files changed, 64089 insertions(+), 5119 deletions(-) delete mode 100644 lib/kokkos/containers/unit_tests/TestCuda.cpp create mode 100644 lib/kokkos/containers/unit_tests/TestDynViewAPI_generic.hpp create mode 100644 lib/kokkos/containers/unit_tests/TestDynViewAPI_rank12345.hpp create mode 100644 lib/kokkos/containers/unit_tests/TestDynViewAPI_rank67.hpp delete mode 100644 lib/kokkos/containers/unit_tests/TestOpenMP.cpp delete mode 100644 lib/kokkos/containers/unit_tests/TestROCm.cpp delete mode 100644 lib/kokkos/containers/unit_tests/TestSerial.cpp delete mode 100644 lib/kokkos/containers/unit_tests/TestThreads.cpp rename lib/kokkos/{core/unit_test/cuda/TestCuda_MDRange.cpp => containers/unit_tests/cuda/TestCuda_BitSet.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_Category.hpp rename lib/kokkos/{core/unit_test/cuda/TestCuda_AtomicOperations.cpp => containers/unit_tests/cuda/TestCuda_DualView.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_DynRankViewAPI_generic.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_DynRankViewAPI_rank12345.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_DynRankViewAPI_rank67.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_DynamicView.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_ErrorReporter.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_ScatterView.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_StaticCrsGraph.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_UnorderedMap.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_Vector.cpp create mode 100644 lib/kokkos/containers/unit_tests/cuda/TestCuda_ViewCtorPropEmbeddedDim.cpp rename lib/kokkos/{core/unit_test/openmp/TestOpenMP_MDRange.cpp => containers/unit_tests/openmp/TestOpenMP_BitSet.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_Category.hpp rename lib/kokkos/{core/unit_test/openmp/TestOpenMP_AtomicOperations.cpp => containers/unit_tests/openmp/TestOpenMP_DualView.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_DynRankViewAPI_generic.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_DynRankViewAPI_rank12345.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_DynRankViewAPI_rank67.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_DynamicView.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_ErrorReporter.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_ScatterView.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_StaticCrsGraph.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_UnorderedMap.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_Vector.cpp create mode 100644 lib/kokkos/containers/unit_tests/openmp/TestOpenMP_ViewCtorPropEmbeddedDim.cpp rename lib/kokkos/{core/unit_test/rocm/TestROCm_MDRange.cpp => containers/unit_tests/rocm/TestROCm_BitSet.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_Category.hpp rename lib/kokkos/{core/unit_test/rocm/TestROCm_AtomicOperations.cpp => containers/unit_tests/rocm/TestROCm_DualView.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_DynRankViewAPI_generic.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_DynRankViewAPI_rank12345.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_DynRankViewAPI_rank67.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_DynamicView.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_ErrorReporter.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_ScatterView.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_StaticCrsGraph.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_UnorderedMap.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_Vector.cpp create mode 100644 lib/kokkos/containers/unit_tests/rocm/TestROCm_ViewCtorPropEmbeddedDim.cpp rename lib/kokkos/{core/unit_test/serial/TestSerial_MDRange.cpp => containers/unit_tests/serial/TestSerial_BitSet.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_Category.hpp rename lib/kokkos/{core/unit_test/serial/TestSerial_AtomicOperations.cpp => containers/unit_tests/serial/TestSerial_DualView.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_DynRankViewAPI_generic.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_DynRankViewAPI_rank12345.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_DynRankViewAPI_rank67.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_DynamicView.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_ErrorReporter.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_ScatterView.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_StaticCrsGraph.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_UnorderedMap.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_Vector.cpp create mode 100644 lib/kokkos/containers/unit_tests/serial/TestSerial_ViewCtorPropEmbeddedDim.cpp rename lib/kokkos/{core/unit_test/threads/TestThreads_MDRange.cpp => containers/unit_tests/threads/TestThreads_BitSet.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_Category.hpp rename lib/kokkos/{core/unit_test/threads/TestThreads_AtomicOperations.cpp => containers/unit_tests/threads/TestThreads_DualView.cpp} (98%) create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_DynRankViewAPI_generic.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_DynRankViewAPI_rank12345.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_DynRankViewAPI_rank67.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_DynamicView.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_ErrorReporter.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_ScatterView.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_StaticCrsGraph.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_UnorderedMap.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_Vector.cpp create mode 100644 lib/kokkos/containers/unit_tests/threads/TestThreads_ViewCtorPropEmbeddedDim.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewAllocate.cpp delete mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy.hpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_a123.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_a45.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_a6.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_a7.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_a8.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_b123.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_b45.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_b6.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_b7.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_b8.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_c123.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_c45.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_c6.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_c7.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_c8.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_d123.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_d45.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_d6.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_d7.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewCopy_d8.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewFill.hpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewFill_123.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewFill_45.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewFill_6.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewFill_7.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewFill_8.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewResize.hpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewResize_123.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewResize_45.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewResize_6.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewResize_7.cpp create mode 100644 lib/kokkos/core/perf_test/PerfTest_ViewResize_8.cpp create mode 100644 lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIAvail.hpp create mode 100644 lib/kokkos/core/src/Cuda/Kokkos_Cuda_ViewCopyETIDecl.hpp create mode 100644 lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIAvail.hpp create mode 100644 lib/kokkos/core/src/OpenMP/Kokkos_OpenMP_ViewCopyETIDecl.hpp create mode 100644 lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIAvail.hpp create mode 100644 lib/kokkos/core/src/ROCm/Kokkos_ROCm_ViewCopyETIDecl.hpp create mode 100644 lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIAvail.hpp create mode 100644 lib/kokkos/core/src/Serial/Kokkos_Serial_ViewCopyETIDecl.hpp create mode 100644 lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIAvail.hpp create mode 100644 lib/kokkos/core/src/Threads/Kokkos_Threads_ViewCopyETIDecl.hpp create mode 100644 lib/kokkos/core/src/eti/CMakeLists.txt create mode 100644 lib/kokkos/core/src/eti/Cuda/CMakeLists.txt create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Kokkos_Cuda_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Cuda/Makefile.eti_Cuda create mode 100644 lib/kokkos/core/src/eti/OpenMP/CMakeLists.txt create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Kokkos_OpenMP_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/OpenMP/Makefile.eti_OpenMP create mode 100644 lib/kokkos/core/src/eti/ROCm/CMakeLists.txt create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Kokkos_Experimental::ROCm_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/ROCm/Makefile.eti_Experimental::ROCm create mode 100644 lib/kokkos/core/src/eti/Serial/CMakeLists.txt create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Kokkos_Serial_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Serial/Makefile.eti_Serial create mode 100644 lib/kokkos/core/src/eti/Threads/CMakeLists.txt create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int64_t_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_double_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_float_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int64_t_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutLeft_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutRight_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank1.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank2.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank3.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank4.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank5.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Kokkos_Threads_ViewCopyETIInst_int_int_LayoutStride_Rank8.cpp create mode 100644 lib/kokkos/core/src/eti/Threads/Makefile.eti_Threads create mode 100644 lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIAvail_Macros.hpp create mode 100644 lib/kokkos/core/src/eti/common/Kokkos_ViewFillCopyETIDecl_Macros.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIAvail.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_ViewFillCopyETIDecl.hpp create mode 100644 lib/kokkos/core/src/impl/Kokkos_ViewUniformType.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_double.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_float.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_int.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_longint.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_longlongint.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_unsignedint.hpp create mode 100644 lib/kokkos/core/unit_test/TestAtomicOperations_unsignedlongint.hpp create mode 100644 lib/kokkos/core/unit_test/TestHostBarrier.cpp create mode 100644 lib/kokkos/core/unit_test/TestMDRange_a.hpp create mode 100644 lib/kokkos/core/unit_test/TestMDRange_b.hpp create mode 100644 lib/kokkos/core/unit_test/TestMDRange_c.hpp create mode 100644 lib/kokkos/core/unit_test/TestMDRange_d.hpp create mode 100644 lib/kokkos/core/unit_test/TestMDRange_e.hpp create mode 100644 lib/kokkos/core/unit_test/TestReducers.hpp create mode 100644 lib/kokkos/core/unit_test/TestReducers_a.hpp create mode 100644 lib/kokkos/core/unit_test/TestReducers_b.hpp create mode 100644 lib/kokkos/core/unit_test/TestReducers_c.hpp create mode 100644 lib/kokkos/core/unit_test/TestReducers_d.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewAPI_a.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewAPI_b.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewAPI_c.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewAPI_d.hpp create mode 100644 lib/kokkos/core/unit_test/TestViewAPI_e.hpp create mode 100644 lib/kokkos/core/unit_test/TestView_64bit.hpp rename lib/kokkos/core/unit_test/cuda/{TestCudaHostPinned_ViewAPI.cpp => TestCudaHostPinned_ViewAPI_a.cpp} (98%) create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaHostPinned_ViewAPI_b.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaHostPinned_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaHostPinned_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaHostPinned_ViewAPI_e.cpp rename lib/kokkos/core/unit_test/cuda/{TestCudaUVM_ViewAPI.cpp => TestCudaUVM_ViewAPI_a.cpp} (98%) create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaUVM_ViewAPI_b.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaUVM_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaUVM_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCudaUVM_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_AtomicOperations_unsignedlongint.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_MDRange_a.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_MDRange_b.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_Reducers_a.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_Reducers_b.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_Reducers_c.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_Reducers_d.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/cuda/TestCuda_View_64bit.cpp rename lib/kokkos/core/unit_test/default/{TestDefaultDeviceType_a.cpp => TestDefaultDeviceType_a1.cpp} (95%) create mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceType_a2.cpp create mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceType_a3.cpp rename lib/kokkos/core/unit_test/default/{TestDefaultDeviceType_b.cpp => TestDefaultDeviceType_b1.cpp} (95%) create mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceType_b2.cpp create mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceType_b3.cpp rename lib/kokkos/core/unit_test/default/{TestDefaultDeviceType_c.cpp => TestDefaultDeviceType_c1.cpp} (95%) create mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceType_c2.cpp create mode 100644 lib/kokkos/core/unit_test/default/TestDefaultDeviceType_c3.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_AtomicOperations_unsignedlongint.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_MDRange_a.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_MDRange_b.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_Reducers_a.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_Reducers_b.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_Reducers_c.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_Reducers_d.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/openmp/TestOpenMP_View_64bit.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_AtomicOperations_unsignedlongint.cpp rename lib/kokkos/core/unit_test/openmptarget/{TestOpenMPTarget_MDRange.cpp => TestOpenMPTarget_MDRange_a.cpp} (98%) rename lib/kokkos/core/unit_test/openmptarget/{TestOpenMPTarget_AtomicOperations.cpp => TestOpenMPTarget_MDRange_b.cpp} (98%) create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reducers_a.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reducers_b.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reducers_c.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_Reducers_d.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/openmptarget/TestOpenMPTarget_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_AtomicOperations_unsignedlongint.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_MDRange_a.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_MDRange_b.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_ViewAPI_b.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/qthreads/TestQqthreads_ViewAPI_e.cpp rename lib/kokkos/core/unit_test/rocm/{TestROCmHostPinned_ViewAPI.cpp => TestROCmHostPinned_ViewAPI_a.cpp} (98%) create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCmHostPinned_ViewAPI_b.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCmHostPinned_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCmHostPinned_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCmHostPinned_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCmHostPinned_View_64bit.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_AtomicOperations_unsignedlongint.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_MDRange_a.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_MDRange_b.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_Reducers_a.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_Reducers_b.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_Reducers_c.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_Reducers_d.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/rocm/TestROCm_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_AtomicOperations_unsignedlongint.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_MDRange_a.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_MDRange_b.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_Reducers_a.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_Reducers_b.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_Reducers_c.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_Reducers_d.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/serial/TestSerial_View_64bit.cpp delete mode 100644 lib/kokkos/core/unit_test/threads/TestThreads.hpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_double.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_float.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_int.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_longint.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_longlongint.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_unsignedint.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_AtomicOperations_unsignedlongint.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_MDRange_a.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_MDRange_b.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_MDRange_c.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_MDRange_d.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_MDRange_e.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_Reducers_a.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_Reducers_b.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_Reducers_c.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_Reducers_d.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_ViewAPI_a.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_ViewAPI_c.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_ViewAPI_d.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_ViewAPI_e.cpp create mode 100644 lib/kokkos/core/unit_test/threads/TestThreads_View_64bit.cpp create mode 100644 lib/kokkos/example/feint/feint_serial.cpp create mode 100644 lib/kokkos/example/make_buildlink/Makefile create mode 100644 lib/kokkos/example/make_buildlink/README create mode 100644 lib/kokkos/example/make_buildlink/main.cpp create mode 100755 lib/kokkos/scripts/eti/generate_view_copy_cpp_files create mode 100755 lib/kokkos/scripts/eti/generate_view_copy_cpp_files_iterate create mode 100755 lib/kokkos/scripts/eti/generate_view_copy_cpp_files_rank create mode 100755 lib/kokkos/scripts/eti/generate_view_copy_cpp_files_write diff --git a/lib/kokkos/CHANGELOG.md b/lib/kokkos/CHANGELOG.md index feb2bd547f..145cc62706 100644 --- a/lib/kokkos/CHANGELOG.md +++ b/lib/kokkos/CHANGELOG.md @@ -1,5 +1,58 @@ # Change Log +## [2.7.00](https://github.com/kokkos/kokkos/tree/2.7.00) (2018-05-24) +[Full Changelog](https://github.com/kokkos/kokkos/compare/2.6.00...2.7.00) + +**Part of the Kokkos C++ Performance Portability Programming EcoSystem 2.7** + +**Implemented enhancements:** + +- Deprecate team\_size auto adjusting to maximal value possible [\#1618](https://github.com/kokkos/kokkos/issues/1618) +- DynamicView - remove restrictions to std::is\_trivial types and value\_type is power of two [\#1586](https://github.com/kokkos/kokkos/issues/1586) +- Kokkos::StaticCrsGraph does not propagate memory traits \(e.g., Unmanaged\) [\#1581](https://github.com/kokkos/kokkos/issues/1581) +- Adding ETI for DeepCopy / ViewFill etc. [\#1578](https://github.com/kokkos/kokkos/issues/1578) +- Deprecate all the left over KOKKOS\_HAVE\_ Macros and Kokkos\_OldMacros.hpp [\#1572](https://github.com/kokkos/kokkos/issues/1572) +- Error if Kokkos\_ARCH set in CMake [\#1555](https://github.com/kokkos/kokkos/issues/1555) +- Deprecate ExecSpace::initialize / ExecSpace::finalize [\#1532](https://github.com/kokkos/kokkos/issues/1532) +- New API for TeamPolicy property setting [\#1531](https://github.com/kokkos/kokkos/issues/1531) +- clang 6.0 + cuda debug out-of-memory test failure [\#1521](https://github.com/kokkos/kokkos/issues/1521) +- Cuda UniqueToken interface not consistent with other backends [\#1505](https://github.com/kokkos/kokkos/issues/1505) +- Move Reducers out of Experimental namespace [\#1494](https://github.com/kokkos/kokkos/issues/1494) +- Provide scope guard for initialize/finalize [\#1479](https://github.com/kokkos/kokkos/issues/1479) +- Check Kokkos::is\_initialized in SharedAllocationRecord dtor [\#1465](https://github.com/kokkos/kokkos/issues/1465) +- Remove static list of allocations [\#1464](https://github.com/kokkos/kokkos/issues/1464) +- Makefiles: Support single compile/link line use case [\#1402](https://github.com/kokkos/kokkos/issues/1402) +- ThreadVectorRange with a range [\#1400](https://github.com/kokkos/kokkos/issues/1400) +- Exclusive scan + last value API [\#1358](https://github.com/kokkos/kokkos/issues/1358) +- Install kokkos\_generated\_settings.cmake [\#1348](https://github.com/kokkos/kokkos/issues/1348) +- Kokkos arrays \(not views!\) don't do bounds checking in debug mode [\#1342](https://github.com/kokkos/kokkos/issues/1342) +- Expose round-robin GPU assignment outside of initialize\(int, char\*\*\) [\#1318](https://github.com/kokkos/kokkos/issues/1318) +- DynamicView misses use\_count and label function [\#1298](https://github.com/kokkos/kokkos/issues/1298) +- View constructor should check arguments [\#1286](https://github.com/kokkos/kokkos/issues/1286) +- False Positive on Oversubscription Warning [\#1207](https://github.com/kokkos/kokkos/issues/1207) +- Allow \(require\) execution space for 1st arg of VerifyExecutionCanAccessMemorySpace [\#1192](https://github.com/kokkos/kokkos/issues/1192) +- ROCm: Add ROCmHostPinnedSpace [\#958](https://github.com/kokkos/kokkos/issues/958) +- power of two functions [\#656](https://github.com/kokkos/kokkos/issues/656) +- CUDA 8 has 64bit \_\_shfl [\#361](https://github.com/kokkos/kokkos/issues/361) +- Add TriBITS/CMake configure information about node types [\#243](https://github.com/kokkos/kokkos/issues/243) + +**Fixed bugs:** + +- CUDA atomic\_fetch\_sub for doubles is hitting CAS instead of intrinsic [\#1624](https://github.com/kokkos/kokkos/issues/1624) +- Bug: use of ballot on Volta [\#1612](https://github.com/kokkos/kokkos/issues/1612) +- Kokkos::deep\_copy memory access failures [\#1583](https://github.com/kokkos/kokkos/issues/1583) +- g++ -std option doubly set for cmake project [\#1548](https://github.com/kokkos/kokkos/issues/1548) +- ViewFill for 1D Views of larger 32bit entries fails [\#1541](https://github.com/kokkos/kokkos/issues/1541) +- CUDA Volta another warpsync bug [\#1520](https://github.com/kokkos/kokkos/issues/1520) +- triple\_nested\_parallelism fails with KOKKOS\_DEBUG and CUDA [\#1513](https://github.com/kokkos/kokkos/issues/1513) +- Jenkins errors in Kokkos\_SharedAlloc.cpp with debug build [\#1511](https://github.com/kokkos/kokkos/issues/1511) +- Kokkos::Sort out-of-bounds with empty bins [\#1504](https://github.com/kokkos/kokkos/issues/1504) +- Get rid of deprecated functions inside Kokkos [\#1484](https://github.com/kokkos/kokkos/issues/1484) +- get\_work\_partition casts int64\_t to int, causing a seg fault [\#1481](https://github.com/kokkos/kokkos/issues/1481) +- NVCC bug with \_\_device\_\_ on defaulted function [\#1470](https://github.com/kokkos/kokkos/issues/1470) +- CMake example broken with CUDA backend [\#1468](https://github.com/kokkos/kokkos/issues/1468) + + ## [2.6.00](https://github.com/kokkos/kokkos/tree/2.6.00) (2018-03-07) [Full Changelog](https://github.com/kokkos/kokkos/compare/2.5.00...2.6.00) diff --git a/lib/kokkos/CMakeLists.txt b/lib/kokkos/CMakeLists.txt index cd1f4ea981..9e5308f1c3 100644 --- a/lib/kokkos/CMakeLists.txt +++ b/lib/kokkos/CMakeLists.txt @@ -44,6 +44,7 @@ IF(NOT KOKKOS_HAS_TRILINOS) "${KOKKOS_SETTINGS} make -f ${KOKKOS_SRC_PATH}/cmake/Makefile.generate_cmake_settings CXX=${CMAKE_CXX_COMPILER} generate_build_settings") endif() include(${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake) + install(FILES ${Kokkos_BINARY_DIR}/kokkos_generated_settings.cmake DESTINATION lib/cmake/Kokkos) string(REPLACE " " ";" KOKKOS_TPL_INCLUDE_DIRS "${KOKKOS_GMAKE_TPL_INCLUDE_DIRS}") string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_DIRS "${KOKKOS_GMAKE_TPL_LIBRARY_DIRS}") string(REPLACE " " ";" KOKKOS_TPL_LIBRARY_NAMES "${KOKKOS_GMAKE_TPL_LIBRARY_NAMES}") diff --git a/lib/kokkos/Makefile.kokkos b/lib/kokkos/Makefile.kokkos index a7bb63f190..41ebee51b0 100644 --- a/lib/kokkos/Makefile.kokkos +++ b/lib/kokkos/Makefile.kokkos @@ -21,8 +21,10 @@ KOKKOS_DEBUG ?= "no" KOKKOS_USE_TPLS ?= "" # Options: c++11,c++1z KOKKOS_CXX_STANDARD ?= "c++11" -# Options: aggressive_vectorization,disable_profiling,disable_deprecated_code +# Options: aggressive_vectorization,disable_profiling,disable_deprecated_code,enable_large_mem_tests KOKKOS_OPTIONS ?= "" +# Option for setting ETI path +KOKKOS_ETI_PATH ?= ${KOKKOS_PATH}/core/src/eti # Default settings specific options. # Options: force_uvm,use_ldg,rdc,enable_lambda @@ -51,10 +53,12 @@ KOKKOS_INTERNAL_DISABLE_PROFILING := $(call kokkos_has_string,$(KOKKOS_OPTIONS), KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_deprecated_code) KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK := $(call kokkos_has_string,$(KOKKOS_OPTIONS),disable_dualview_modify_check) KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_PRINT := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_profile_load_print) +KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_large_mem_tests) KOKKOS_INTERNAL_CUDA_USE_LDG := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),use_ldg) KOKKOS_INTERNAL_CUDA_USE_UVM := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),force_uvm) KOKKOS_INTERNAL_CUDA_USE_RELOC := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),rdc) KOKKOS_INTERNAL_CUDA_USE_LAMBDA := $(call kokkos_has_string,$(KOKKOS_CUDA_OPTIONS),enable_lambda) +KOKKOS_INTERNAL_ENABLE_ETI := $(call kokkos_has_string,$(KOKKOS_OPTIONS),enable_eti) # Check for Kokkos Host Execution Spaces one of which must be on. @@ -78,7 +82,12 @@ KOKKOS_INTERNAL_USE_OPENMPTARGET := $(call kokkos_has_string,$(KOKKOS_DEVICES),O ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) KOKKOS_INTERNAL_NVCC_PATH := $(shell which nvcc) - CUDA_PATH ?= $(KOKKOS_INTERNAL_NVCC_PATH:/bin/nvcc=) + ifeq ($(origin CUDA_PATH), undefined) + CUDA_PATH = $(KOKKOS_INTERNAL_NVCC_PATH:/bin/nvcc=) + endif + ifeq ($(CUDA_PATH),) + CUDA_PATH = $(KOKKOS_INTERNAL_NVCC_PATH:/bin/nvcc=) + endif KOKKOS_INTERNAL_COMPILER_NVCC_VERSION := $(shell nvcc --version 2>&1 | grep release | cut -d' ' -f5 | cut -d',' -f1 | tr -d .) endif @@ -116,7 +125,7 @@ ifeq ($(KOKKOS_INTERNAL_COMPILER_HCC), 1) endif ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - KOKKOS_INTERNAL_COMPILER_CLANG_VERSION := $(shell clang --version | grep version | cut -d ' ' -f3 | tr -d '.') + KOKKOS_INTERNAL_COMPILER_CLANG_VERSION := $(shell $(CXX) --version | grep version | cut -d ' ' -f3 | tr -d '.') ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_CLANG_VERSION) -lt 400; echo $$?),0) @@ -323,12 +332,13 @@ endif # Generating the list of Flags. -KOKKOS_CPPFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src +#CPPFLAGS is now unused +KOKKOS_CPPFLAGS = +KOKKOS_CXXFLAGS = -I./ -I$(KOKKOS_PATH)/core/src -I$(KOKKOS_PATH)/containers/src -I$(KOKKOS_PATH)/algorithms/src -I$(KOKKOS_ETI_PATH) KOKKOS_TPL_INCLUDE_DIRS = KOKKOS_TPL_LIBRARY_DIRS = KOKKOS_TPL_LIBRARY_NAMES = -KOKKOS_CXXFLAGS = ifeq ($(KOKKOS_INTERNAL_ENABLE_COMPILER_WARNINGS), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_COMPILER_WARNINGS) endif @@ -336,6 +346,8 @@ endif KOKKOS_LIBS = -ldl KOKKOS_TPL_LIBRARY_NAMES += dl KOKKOS_LDFLAGS = -L$(shell pwd) +# CXXLDFLAGS is used together with CXXFLAGS in a combined compile/link command +KOKKOS_CXXLDFLAGS = -L$(shell pwd) KOKKOS_LINK_FLAGS = KOKKOS_SRC = KOKKOS_HEADERS = @@ -362,7 +374,7 @@ tmp := $(call kokkos_append_header,'\#endif') tmp := $(call kokkos_append_header,"/* Execution Spaces */") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CUDA") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA") endif ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) @@ -374,19 +386,19 @@ ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) - tmp := $(call kokkos_append_header,'\#define KOKKOS_HAVE_OPENMP') + tmp := $(call kokkos_append_header,'\#define KOKKOS_ENABLE_OPENMP') endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_PTHREAD") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_THREADS") endif ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_QTHREADS") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_QTHREADS") endif ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_SERIAL") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_SERIAL") endif ifeq ($(KOKKOS_INTERNAL_USE_TM), 1) @@ -422,13 +434,13 @@ endif tmp := $(call kokkos_append_header,"/* General Settings */") ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX11), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX11_FLAG) - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX11") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_CXX1Z), 1) KOKKOS_CXXFLAGS += $(KOKKOS_INTERNAL_CXX1Z_FLAG) - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX11") - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_CXX1Z") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX11") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CXX1Z") endif ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) @@ -437,9 +449,9 @@ ifeq ($(KOKKOS_INTERNAL_ENABLE_DEBUG), 1) endif KOKKOS_CXXFLAGS += -g - KOKKOS_LDFLAGS += -g -ldl + KOKKOS_LDFLAGS += -g tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_BOUNDS_CHECK") - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_DEBUG") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG") ifeq ($(KOKKOS_INTERNAL_DISABLE_DUALVIEW_MODIFY_CHECK), 0) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEBUG_DUALVIEW_MODIFY_CHECK") endif @@ -451,14 +463,15 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_HWLOC), 1) ifneq ($(HWLOC_PATH),) - KOKKOS_CPPFLAGS += -I$(HWLOC_PATH)/include + KOKKOS_CXXFLAGS += -I$(HWLOC_PATH)/include KOKKOS_LDFLAGS += -L$(HWLOC_PATH)/lib + KOKKOS_CXXLDFLAGS += -L$(HWLOC_PATH)/lib KOKKOS_TPL_INCLUDE_DIRS += $(HWLOC_PATH)/include KOKKOS_TPL_LIBRARY_DIRS += $(HWLOC_PATH)/lib endif KOKKOS_LIBS += -lhwloc KOKKOS_TPL_LIBRARY_NAMES += hwloc - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HWLOC") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HWLOC") endif ifeq ($(KOKKOS_INTERNAL_USE_LIBRT), 1) @@ -469,14 +482,15 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_MEMKIND), 1) ifneq ($(MEMKIND_PATH),) - KOKKOS_CPPFLAGS += -I$(MEMKIND_PATH)/include + KOKKOS_CXXFLAGS += -I$(MEMKIND_PATH)/include KOKKOS_LDFLAGS += -L$(MEMKIND_PATH)/lib + KOKKOS_CXXLDFLAGS += -L$(MEMKIND_PATH)/lib KOKKOS_TPL_INCLUDE_DIRS += $(MEMKIND_PATH)/include KOKKOS_TPL_LIBRARY_DIRS += $(MEMKIND_PATH)/lib endif KOKKOS_LIBS += -lmemkind -lnuma KOKKOS_TPL_LIBRARY_NAMES += memkind numa - tmp := $(call kokkos_append_header,"\#define KOKKOS_HAVE_HBWSPACE") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_HBWSPACE") endif ifeq ($(KOKKOS_INTERNAL_DISABLE_PROFILING), 0) @@ -486,6 +500,13 @@ endif ifeq ($(KOKKOS_INTERNAL_DISABLE_DEPRECATED_CODE), 0) tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_DEPRECATED_CODE") endif +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_ETI") +endif + +ifeq ($(KOKKOS_INTERNAL_ENABLE_LARGE_MEM_TESTS), 1) + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_LARGE_MEM_TESTS") +endif tmp := $(call kokkos_append_header,"/* Optimization Settings */") @@ -497,27 +518,35 @@ tmp := $(call kokkos_append_header,"/* Cuda Settings */") ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LDG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LDG_INTRINSIC") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") else ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LDG_INTRINSIC") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LDG_INTRINSIC") endif endif ifeq ($(KOKKOS_INTERNAL_CUDA_USE_UVM), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_UVM") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_UVM") endif ifeq ($(KOKKOS_INTERNAL_CUDA_USE_RELOC), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_RELOCATABLE_DEVICE_CODE") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_RELOCATABLE_DEVICE_CODE") KOKKOS_CXXFLAGS += --relocatable-device-code=true KOKKOS_LDFLAGS += --relocatable-device-code=true endif + ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) + ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -ge 90; echo $$?),0) + # This diagnostic is just plain wrong in CUDA 9 + # See https://github.com/kokkos/kokkos/issues/1470 + KOKKOS_CXXFLAGS += -Xcudafe --diag_suppress=esa_on_defaulted_function_ignored + endif + endif + ifeq ($(KOKKOS_INTERNAL_CUDA_USE_LAMBDA), 1) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) ifeq ($(shell test $(KOKKOS_INTERNAL_COMPILER_NVCC_VERSION) -gt 70; echo $$?),0) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LAMBDA") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA") KOKKOS_CXXFLAGS += -expt-extended-lambda else $(warning Warning: Cuda Lambda support was requested but NVCC version is too low. This requires NVCC for Cuda version 7.5 or higher. Disabling Lambda support now.) @@ -525,12 +554,12 @@ ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) endif ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_USE_LAMBDA") + tmp := $(call kokkos_append_header,"\#define KOKKOS_ENABLE_CUDA_LAMBDA") endif endif ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) - tmp := $(call kokkos_append_header,"\#define KOKKOS_CUDA_CLANG_WORKAROUND") + tmp := $(call kokkos_append_header,"\#define KOKKOS_IMPL_CUDA_CLANG_WORKAROUND") endif endif @@ -907,10 +936,14 @@ ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) KOKKOS_CXXFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --cxxflags) KOKKOS_LDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm + KOKKOS_CXXLDFLAGS += $(shell $(ROCM_HCC_PATH)/bin/hcc-config --ldflags) -lhc_am -lm KOKKOS_TPL_LIBRARY_NAMES += hc_am m KOKKOS_LDFLAGS += $(KOKKOS_INTERNAL_ROCM_ARCH_FLAG) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.cpp) +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/ROCm/*.cpp) +endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/ROCm/*.hpp) endif @@ -937,10 +970,14 @@ KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/containers/src/impl/*.cpp) ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.cpp) +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Cuda/*.cpp) +endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Cuda/*.hpp) ifneq ($(CUDA_PATH),) - KOKKOS_CPPFLAGS += -I$(CUDA_PATH)/include + KOKKOS_CXXFLAGS += -I$(CUDA_PATH)/include KOKKOS_LDFLAGS += -L$(CUDA_PATH)/lib64 + KOKKOS_CXXLDFLAGS += -L$(CUDA_PATH)/lib64 KOKKOS_TPL_INCLUDE_DIRS += $(CUDA_PATH)/include KOKKOS_TPL_LIBRARY_DIRS += $(CUDA_PATH)/lib64 ifeq ($(KOKKOS_INTERNAL_COMPILER_CLANG), 1) @@ -964,6 +1001,9 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMP), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/OpenMP/*.cpp) +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/OpenMP/*.cpp) +endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/OpenMP/*.hpp) ifeq ($(KOKKOS_INTERNAL_COMPILER_NVCC), 1) @@ -978,6 +1018,9 @@ endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.cpp) +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Threads/*.cpp) +endif KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Threads/*.hpp) KOKKOS_LIBS += -lpthread KOKKOS_TPL_LIBRARY_NAMES += pthread @@ -987,8 +1030,9 @@ ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) KOKKOS_SRC += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.cpp) KOKKOS_HEADERS += $(wildcard $(KOKKOS_PATH)/core/src/Qthreads/*.hpp) ifneq ($(QTHREADS_PATH),) - KOKKOS_CPPFLAGS += -I$(QTHREADS_PATH)/include + KOKKOS_CXXFLAGS += -I$(QTHREADS_PATH)/include KOKKOS_LDFLAGS += -L$(QTHREADS_PATH)/lib + KOKKOS_CXXLDFLAGS += -L$(QTHREADS_PATH)/lib KOKKOS_TPL_INCLUDE_DIRS += $(QTHREADS_PATH)/include KOKKOS_TPL_LIBRARY_DIRS += $(QTHREADS_PATH)/lib64 endif @@ -1011,6 +1055,11 @@ endif # Don't include Kokkos_Serial.cpp or Kokkos_Serial_Task.cpp if not using Serial # device to avoid a link warning. +ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + KOKKOS_SRC += $(wildcard $(KOKKOS_ETI_PATH)/Serial/*.cpp) +endif +endif ifneq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_Serial.cpp,$(KOKKOS_SRC)) KOKKOS_SRC := $(filter-out $(KOKKOS_PATH)/core/src/impl/Kokkos_Serial_Task.cpp,$(KOKKOS_SRC)) diff --git a/lib/kokkos/Makefile.targets b/lib/kokkos/Makefile.targets index a63598577c..44da1e082a 100644 --- a/lib/kokkos/Makefile.targets +++ b/lib/kokkos/Makefile.targets @@ -31,6 +31,12 @@ Kokkos_SharedAlloc.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_ Kokkos_MemoryPool.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/impl/Kokkos_MemoryPool.cpp +ifeq ($(KOKKOS_INTERNAL_USE_SERIAL), 1) +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + include $(KOKKOS_ETI_PATH)/Serial/Makefile.eti_Serial +endif +endif + ifeq ($(KOKKOS_INTERNAL_USE_CUDA), 1) Kokkos_Cuda_Impl.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Impl.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Impl.cpp @@ -40,6 +46,9 @@ Kokkos_Cuda_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cu $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Task.cpp Kokkos_Cuda_Locks.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Locks.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Cuda/Kokkos_Cuda_Locks.cpp +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + include $(KOKKOS_ETI_PATH)/Cuda/Makefile.eti_Cuda +endif endif ifeq ($(KOKKOS_INTERNAL_USE_ROCM), 1) @@ -51,6 +60,9 @@ Kokkos_ROCm_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_RO $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Task.cpp Kokkos_ROCm_Impl.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Impl.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/ROCm/Kokkos_ROCm_Impl.cpp +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + include $(KOKKOS_ETI_PATH)/ROCm/Makefile.eti_ROCm +endif endif ifeq ($(KOKKOS_INTERNAL_USE_PTHREADS), 1) @@ -58,6 +70,9 @@ Kokkos_ThreadsExec_base.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec_base.cpp Kokkos_ThreadsExec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/Threads/Kokkos_ThreadsExec.cpp +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + include $(KOKKOS_ETI_PATH)/Threads/Makefile.eti_Threads +endif endif ifeq ($(KOKKOS_INTERNAL_USE_QTHREADS), 1) @@ -72,6 +87,9 @@ Kokkos_OpenMP_Exec.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokko $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Exec.cpp Kokkos_OpenMP_Task.o: $(KOKKOS_CPP_DEPENDS) $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Task.cpp $(CXX) $(KOKKOS_CPPFLAGS) $(KOKKOS_CXXFLAGS) $(CXXFLAGS) -c $(KOKKOS_PATH)/core/src/OpenMP/Kokkos_OpenMP_Task.cpp +ifeq ($(KOKKOS_INTERNAL_ENABLE_ETI), 1) + include $(KOKKOS_ETI_PATH)/OpenMP/Makefile.eti_OpenMP +endif endif ifeq ($(KOKKOS_INTERNAL_USE_OPENMPTARGET), 1) diff --git a/lib/kokkos/algorithms/src/Kokkos_Random.hpp b/lib/kokkos/algorithms/src/Kokkos_Random.hpp index 1c659e44a4..5f1d88bfff 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Random.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Random.hpp @@ -702,7 +702,11 @@ namespace Kokkos { } Random_XorShift64_Pool(uint64_t seed) { num_states_ = 0; +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE init(seed,DeviceType::max_hardware_threads()); +#else + init(seed,DeviceType::impl_max_hardware_threads()); +#endif } Random_XorShift64_Pool(const Random_XorShift64_Pool& src): @@ -751,7 +755,11 @@ namespace Kokkos { KOKKOS_INLINE_FUNCTION Random_XorShift64 get_state() const { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE const int i = DeviceType::hardware_thread_id();; +#else + const int i = DeviceType::impl_hardware_thread_id();; +#endif return Random_XorShift64(state_(i),i); } @@ -957,7 +965,11 @@ namespace Kokkos { inline Random_XorShift1024_Pool(uint64_t seed){ num_states_ = 0; +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE init(seed,DeviceType::max_hardware_threads()); +#else + init(seed,DeviceType::impl_max_hardware_threads()); +#endif } Random_XorShift1024_Pool(const Random_XorShift1024_Pool& src): @@ -1012,7 +1024,11 @@ namespace Kokkos { KOKKOS_INLINE_FUNCTION Random_XorShift1024 get_state() const { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE const int i = DeviceType::hardware_thread_id(); +#else + const int i = DeviceType::impl_hardware_thread_id(); +#endif return Random_XorShift1024(state_,p_(i),i); }; diff --git a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp index 888476045b..c952b1e541 100644 --- a/lib/kokkos/algorithms/src/Kokkos_Sort.hpp +++ b/lib/kokkos/algorithms/src/Kokkos_Sort.hpp @@ -288,6 +288,7 @@ public: Kokkos::abort("BinSort::sort: values range length != permutation vector length"); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE scratch_view_type sorted_values("Scratch", len, @@ -298,6 +299,18 @@ public: values.extent(5), values.extent(6), values.extent(7)); +#else + scratch_view_type + sorted_values("Scratch", + values.rank_dynamic > 0 ? len : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 1 ? values.extent(1) : KOKKOS_IMPL_CTOR_DEFAULT_ARG , + values.rank_dynamic > 2 ? values.extent(2) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 3 ? values.extent(3) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 4 ? values.extent(4) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 5 ? values.extent(5) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 6 ? values.extent(6) : KOKKOS_IMPL_CTOR_DEFAULT_ARG, + values.rank_dynamic > 7 ? values.extent(7) : KOKKOS_IMPL_CTOR_DEFAULT_ARG); +#endif { copy_permute_functor< scratch_view_type /* DstViewType */ @@ -362,8 +375,10 @@ public: KOKKOS_INLINE_FUNCTION void operator() (const bin_sort_bins_tag& tag, const int&i ) const { + auto bin_size = bin_count_const(i); + if (bin_size <= 1) return; + int upper_bound = bin_offsets(i)+bin_size; bool sorted = false; - int upper_bound = bin_offsets(i)+bin_count_const(i); while(!sorted) { sorted = true; int old_idx = sort_order(bin_offsets(i)); @@ -501,7 +516,7 @@ bool try_std_sort(ViewType view) { template struct min_max_functor { - typedef Kokkos::Experimental::MinMaxScalar minmax_scalar; + typedef Kokkos::MinMaxScalar minmax_scalar; ViewType view; min_max_functor(const ViewType& view_):view(view_) {} @@ -523,8 +538,8 @@ void sort( ViewType const & view , bool const always_use_kokkos_sort = false) } typedef BinOp1D CompType; - Kokkos::Experimental::MinMaxScalar result; - Kokkos::Experimental::MinMax reducer(result); + Kokkos::MinMaxScalar result; + Kokkos::MinMax reducer(result); parallel_reduce("Kokkos::Sort::FindExtent",Kokkos::RangePolicy(0,view.extent(0)), Impl::min_max_functor(view),reducer); if(result.min_val == result.max_val) return; @@ -542,8 +557,8 @@ void sort( ViewType view typedef Kokkos::RangePolicy range_policy ; typedef BinOp1D CompType; - Kokkos::Experimental::MinMaxScalar result; - Kokkos::Experimental::MinMax reducer(result); + Kokkos::MinMaxScalar result; + Kokkos::MinMax reducer(result); parallel_reduce("Kokkos::Sort::FindExtent", range_policy( begin , end ) , Impl::min_max_functor(view),reducer ); diff --git a/lib/kokkos/cmake/kokkos_build.cmake b/lib/kokkos/cmake/kokkos_build.cmake index 76d0655adb..94dd733ca3 100644 --- a/lib/kokkos/cmake/kokkos_build.cmake +++ b/lib/kokkos/cmake/kokkos_build.cmake @@ -76,7 +76,11 @@ IF(KOKKOS_SEPARATE_LIBS) ) foreach(lib IN LISTS KOKKOS_TPL_LIBRARY_NAMES) - find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) + if ("${lib}" STREQUAL "cuda") + set(LIB_cuda "-lcuda") + else() + find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) + endif() target_link_libraries(kokkoscore PUBLIC ${LIB_${lib}}) endforeach() @@ -154,7 +158,11 @@ ELSE() ) foreach(lib IN LISTS KOKKOS_TPL_LIBRARY_NAMES) - find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) + if ("${lib}" STREQUAL "cuda") + set(LIB_cuda "-lcuda") + else() + find_library(LIB_${lib} ${lib} PATHS ${KOKKOS_TPL_LIBRARY_DIRS}) + endif() target_link_libraries(kokkos PUBLIC ${LIB_${lib}}) endforeach() diff --git a/lib/kokkos/cmake/kokkos_options.cmake b/lib/kokkos/cmake/kokkos_options.cmake index 25eb8e86ce..80a091bb98 100644 --- a/lib/kokkos/cmake/kokkos_options.cmake +++ b/lib/kokkos/cmake/kokkos_options.cmake @@ -31,6 +31,7 @@ list(APPEND KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST Profiling_Load_Print Aggressive_Vectorization Deprecated_Code + Explicit_Instantiation ) #------------------------------------------------------------------------------- @@ -40,6 +41,7 @@ list(APPEND KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST foreach(opt ${KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST}) string(TOUPPER ${opt} OPT ) IF(DEFINED Kokkos_ENABLE_${opt}) + MESSAGE("Kokkos_ENABLE_${opt} is defined!") IF(DEFINED KOKKOS_ENABLE_${OPT}) IF(NOT ("${KOKKOS_ENABLE_${OPT}}" STREQUAL "${Kokkos_ENABLE_${opt}}")) IF(DEFINED KOKKOS_ENABLE_${OPT}_INTERNAL) @@ -57,18 +59,16 @@ foreach(opt ${KOKKOS_INTERNAL_ENABLE_OPTIONS_LIST}) ENDIF() ELSE() SET(KOKKOS_INTERNAL_ENABLE_${OPT}_DEFAULT ${Kokkos_ENABLE_${opt}}) + MESSAGE("set KOKKOS_INTERNAL_ENABLE_${OPT}_DEFAULT!") ENDIF() ENDIF() endforeach() +IF(DEFINED Kokkos_ARCH) + MESSAGE(FATAL_ERROR "Defined Kokkos_ARCH, use KOKKOS_ARCH instead!") +ENDIF() IF(DEFINED Kokkos_Arch) - IF(DEFINED KOKKOS_ARCH) - IF(NOT (${KOKKOS_ARCH} STREQUAL "${Kokkos_Arch}")) - MESSAGE(FATAL_ERROR "Defined both Kokkos_Arch and KOKKOS_ARCH and they differ!") - ENDIF() - ELSE() - SET(KOKKOS_ARCH ${Kokkos_Arch}) - ENDIF() + MESSAGE(FATAL_ERROR "Defined Kokkos_Arch, use KOKKOS_ARCH instead!") ENDIF() #------------------------------------------------------------------------------- @@ -103,6 +103,8 @@ list(APPEND KOKKOS_ARCH_LIST Maxwell53 # (GPU) NVIDIA Maxwell generation CC 5.3 Pascal60 # (GPU) NVIDIA Pascal generation CC 6.0 Pascal61 # (GPU) NVIDIA Pascal generation CC 6.1 + Volta70 # (GPU) NVIDIA Volta generation CC 7.0 + Volta72 # (GPU) NVIDIA Volta generation CC 7.2 ) # List of possible device architectures. @@ -267,6 +269,8 @@ set(KOKKOS_ENABLE_PROFILING_LOAD_PRINT ${KOKKOS_INTERNAL_ENABLE_PROFILING_LOAD_P set_kokkos_default_default(DEPRECATED_CODE ON) set(KOKKOS_ENABLE_DEPRECATED_CODE ${KOKKOS_INTERNAL_ENABLE_DEPRECATED_CODE_DEFAULT} CACHE BOOL "Enable deprecated code.") +set_kokkos_default_default(EXPLICIT_INSTANTIATION ON) +set(KOKKOS_ENABLE_EXPLICIT_INSTANTIATION ${KOKKOS_INTERNAL_ENABLE_EXPLICIT_INSTANTIATION_DEFAULT} CACHE BOOL "Enable explicit template instantiation.") #------------------------------------------------------------------------------- #------------------------------- KOKKOS_USE_TPLS ------------------------------- diff --git a/lib/kokkos/cmake/kokkos_settings.cmake b/lib/kokkos/cmake/kokkos_settings.cmake index 579fab0c95..21c9d75a96 100644 --- a/lib/kokkos/cmake/kokkos_settings.cmake +++ b/lib/kokkos/cmake/kokkos_settings.cmake @@ -74,6 +74,9 @@ endif() if(${KOKKOS_ENABLE_PROFILING_LOAD_PRINT}) list(APPEND KOKKOS_OPTIONSl enable_profile_load_print) endif() +if(${KOKKOS_ENABLE_EXPLICIT_INSTANTIATION}) + list(APPEND KOKKOS_OPTIONSl enable_eti) +endif() # List needs to be comma-delimitted string(REPLACE ";" "," KOKKOS_GMAKE_OPTIONS "${KOKKOS_OPTIONSl}") @@ -158,6 +161,19 @@ if (NOT "${KOKKOS_INTERNAL_ADDTOPATH}" STREQUAL "") set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} "PATH=\"${KOKKOS_INTERNAL_ADDTOPATH}:$ENV{PATH}\"") endif() +if (CMAKE_CXX_STANDARD) + if (CMAKE_CXX_STANDARD STREQUAL "98") + message(FATAL_ERROR "Kokkos requires C++11 or newer!") + endif() + set(KOKKOS_CXX_STANDARD "c++${CMAKE_CXX_STANDARD}") + if (CMAKE_CXX_EXTENSIONS) + if (CMAKE_CXX_COMPILER_ID STREQUAL "GNU") + set(KOKKOS_CXX_STANDARD "gnu++${CMAKE_CXX_STANDARD}") + endif() + endif() + set(KOKKOS_SETTINGS ${KOKKOS_SETTINGS} "KOKKOS_CXX_STANDARD=\"${KOKKOS_CXX_STANDARD}\"") +endif() + # Final form that gets passed to make set(KOKKOS_SETTINGS env ${KOKKOS_SETTINGS}) diff --git a/lib/kokkos/cmake/tribits.cmake b/lib/kokkos/cmake/tribits.cmake index 1b5a7b2adb..f8eebc29f8 100644 --- a/lib/kokkos/cmake/tribits.cmake +++ b/lib/kokkos/cmake/tribits.cmake @@ -300,7 +300,9 @@ FUNCTION(TRIBITS_ADD_EXECUTABLE EXE_NAME) ENDIF() ENDFUNCTION() -ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} -VV -C ${CMAKE_CFG_INTDIR}) +IF(NOT TARGET check) + ADD_CUSTOM_TARGET(check COMMAND ${CMAKE_CTEST_COMMAND} -VV -C ${CMAKE_CFG_INTDIR}) +ENDIF() FUNCTION(TRIBITS_ADD_TEST) ENDFUNCTION() diff --git a/lib/kokkos/config/test_all_sandia b/lib/kokkos/config/test_all_sandia index 28b4a64b10..15e6049afb 100755 --- a/lib/kokkos/config/test_all_sandia +++ b/lib/kokkos/config/test_all_sandia @@ -22,30 +22,38 @@ if [[ "$HOSTNAME" =~ .*bowman.* ]]; then module load git fi -if [[ "$HOSTNAME" =~ n.* ]]; then # Warning: very generic name +if [[ "$HOSTNAME" == n* ]]; then # Warning: very generic name if [[ "$PROCESSOR" = "aarch64" ]]; then MACHINE=sullivan module load git fi fi -if [[ "$HOSTNAME" =~ node.* ]]; then # Warning: very generic name +if [[ "$HOSTNAME" == node* ]]; then # Warning: very generic name if [[ "$MACHINE" = "" ]]; then MACHINE=shepard module load git fi fi -if [[ "$HOSTNAME" =~ apollo ]]; then +if [[ "$HOSTNAME" == apollo\.* ]]; then MACHINE=apollo module load git fi -if [[ "$HOSTNAME" =~ sullivan ]]; then +if [[ "$HOSTNAME" == sullivan ]]; then MACHINE=sullivan module load git fi +if [[ "$HOSTNAME" == mayer\.* ]]; then + MACHINE=mayer +# module load git +fi +if [[ "$HOSTNAME" == cn* ]]; then # Warning: very generic name + MACHINE=mayer +fi + if [ ! -z "$SEMS_MODULEFILES_ROOT" ]; then if [[ "$MACHINE" = "" ]]; then MACHINE=sems @@ -83,7 +91,7 @@ CUSTOM_BUILD_LIST="" QTHREADS_PATH="" DRYRUN=False BUILD_ONLY=False -declare -i NUM_JOBS_TO_RUN_IN_PARALLEL=3 +declare -i NUM_JOBS_TO_RUN_IN_PARALLEL=1 TEST_SCRIPT=False SKIP_HWLOC=False SPOT_CHECK=False @@ -142,6 +150,9 @@ do --with-cuda-options*) KOKKOS_CUDA_OPTIONS="--with-cuda-options=${key#*=}" ;; + --with-options*) + KOKKOS_OPTIONS="--with-options=enable_large_mem_tests,${key#*=}" + ;; --cxxflags-extra*) CXX_FLAGS_EXTRA="${key#*=}" ;; @@ -247,7 +258,7 @@ elif [ "$MACHINE" = "white" ]; then ARCH_FLAG="--arch=Power8,Kepler37" fi - NUM_JOBS_TO_RUN_IN_PARALLEL=2 + NUM_JOBS_TO_RUN_IN_PARALLEL=1 elif [ "$MACHINE" = "bowman" ]; then source /etc/profile.d/modules.sh @@ -268,7 +279,7 @@ elif [ "$MACHINE" = "bowman" ]; then ARCH_FLAG="--arch=KNL" fi - NUM_JOBS_TO_RUN_IN_PARALLEL=2 + NUM_JOBS_TO_RUN_IN_PARALLEL=1 elif [ "$MACHINE" = "sullivan" ]; then source /etc/profile.d/modules.sh @@ -284,7 +295,24 @@ elif [ "$MACHINE" = "sullivan" ]; then ARCH_FLAG="--arch=ARMv8-ThunderX" fi - NUM_JOBS_TO_RUN_IN_PARALLEL=2 + NUM_JOBS_TO_RUN_IN_PARALLEL=1 + +elif [ "$MACHINE" = "mayer" ]; then + SKIP_HWLOC=True + export SLURM_TASKS_PER_NODE=96 + + BASE_MODULE_LIST="/" + ARM_MODULE_LIST="/" + + # Format: (compiler module-list build-list exe-name warning-flag) + COMPILERS=("gcc/7.2.0 $BASE_MODULE_LIST $ARM_GCC_BUILD_LIST g++ $GCC_WARNING_FLAGS" + "arm/1.4.0 $ARM_MODULE_LIST $ARM_GCC_BUILD_LIST armclang++ $CLANG_WARNING_FLAGS") + + if [ -z "$ARCH_FLAG" ]; then + ARCH_FLAG="--arch=ARMv8-TX2" + fi + + NUM_JOBS_TO_RUN_IN_PARALLEL=1 elif [ "$MACHINE" = "shepard" ]; then source /etc/profile.d/modules.sh @@ -303,7 +331,7 @@ elif [ "$MACHINE" = "shepard" ]; then if [ -z "$ARCH_FLAG" ]; then ARCH_FLAG="--arch=HSW" fi - NUM_JOBS_TO_RUN_IN_PARALLEL=2 + NUM_JOBS_TO_RUN_IN_PARALLEL=1 elif [ "$MACHINE" = "apollo" ]; then source /projects/sems/modulefiles/utils/sems-modules-init.sh @@ -331,7 +359,7 @@ elif [ "$MACHINE" = "apollo" ]; then if [ "$SPOT_CHECK" = "True" ]; then # Format: (compiler module-list build-list exe-name warning-flag) COMPILERS=("gcc/4.8.4 $BASE_MODULE_LIST "OpenMP,Pthread" g++ $GCC_WARNING_FLAGS" - "gcc/5.1.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" + "gcc/5.3.0 $BASE_MODULE_LIST "Serial" g++ $GCC_WARNING_FLAGS" "intel/16.0.1 $BASE_MODULE_LIST "OpenMP" icpc $INTEL_WARNING_FLAGS" "clang/3.9.0 $BASE_MODULE_LIST "Pthread_Serial" clang++ $CLANG_WARNING_FLAGS" "clang/6.0 $CLANG_MODULE_LIST "Cuda_Pthread" clang++ $CUDA_WARNING_FLAGS" @@ -358,7 +386,7 @@ elif [ "$MACHINE" = "apollo" ]; then ARCH_FLAG="--arch=SNB,Volta70" fi - NUM_JOBS_TO_RUN_IN_PARALLEL=2 + NUM_JOBS_TO_RUN_IN_PARALLEL=1 else echo "Unhandled machine $MACHINE" >&2 @@ -627,6 +655,11 @@ single_build_and_test() { if [[ "$KOKKOS_CUDA_OPTIONS" != "" ]]; then local extra_args="$extra_args $KOKKOS_CUDA_OPTIONS" fi + if [[ "$KOKKOS_OPTIONS" != "" ]]; then + local extra_args="$extra_args $KOKKOS_OPTIONS" + else + local extra_args="$extra_args --with-options=enable_large_mem_tests" + fi echo " Starting job $desc" @@ -642,7 +675,7 @@ single_build_and_test() { else run_cmd ${KOKKOS_PATH}/generate_makefile.bash --with-devices=$build $ARCH_FLAG --compiler=$(which $compiler_exe) --cxxflags=\"$cxxflags\" --ldflags=\"$ldflags\" $extra_args &>> ${desc}.configure.log || { report_and_log_test_result 1 ${desc} configure && return 0; } local -i build_start_time=$(date +%s) - run_cmd make -j 32 build-test >& ${desc}.build.log || { report_and_log_test_result 1 ${desc} build && return 0; } + run_cmd make -j 48 build-test >& ${desc}.build.log || { report_and_log_test_result 1 ${desc} build && return 0; } local -i build_end_time=$(date +%s) comment="build_time=$(($build_end_time-$build_start_time))" @@ -682,6 +715,9 @@ run_in_background() { if [[ "$compiler" == cuda* ]]; then num_jobs=1 fi + if [[ "$compiler" == clang ]]; then + num_jobs=1 + fi # fi wait_for_jobs $num_jobs diff --git a/lib/kokkos/containers/performance_tests/TestCuda.cpp b/lib/kokkos/containers/performance_tests/TestCuda.cpp index 682f3f52f7..351fb86df3 100644 --- a/lib/kokkos/containers/performance_tests/TestCuda.cpp +++ b/lib/kokkos/containers/performance_tests/TestCuda.cpp @@ -70,13 +70,12 @@ protected: static void SetUpTestCase() { std::cout << std::setprecision(5) << std::scientific; - Kokkos::HostSpace::execution_space::initialize(); - Kokkos::Cuda::initialize( Kokkos::Cuda::SelectDevice(0) ); + Kokkos::InitArguments args(-1, -1, 0); + Kokkos::initialize(args); } static void TearDownTestCase() { - Kokkos::Cuda::finalize(); - Kokkos::HostSpace::execution_space::finalize(); + Kokkos::finalize(); } }; diff --git a/lib/kokkos/containers/performance_tests/TestOpenMP.cpp b/lib/kokkos/containers/performance_tests/TestOpenMP.cpp index 66d497552e..e6218074ea 100644 --- a/lib/kokkos/containers/performance_tests/TestOpenMP.cpp +++ b/lib/kokkos/containers/performance_tests/TestOpenMP.cpp @@ -70,13 +70,13 @@ protected: { std::cout << std::setprecision(5) << std::scientific; - Kokkos::OpenMP::initialize(); + Kokkos::initialize(); Kokkos::OpenMP::print_configuration( std::cout ); } static void TearDownTestCase() { - Kokkos::OpenMP::finalize(); + Kokkos::finalize(); } }; diff --git a/lib/kokkos/containers/performance_tests/TestThreads.cpp b/lib/kokkos/containers/performance_tests/TestThreads.cpp index a951a5ca56..6a02e67b25 100644 --- a/lib/kokkos/containers/performance_tests/TestThreads.cpp +++ b/lib/kokkos/containers/performance_tests/TestThreads.cpp @@ -81,12 +81,12 @@ protected: std::cout << "Threads: " << num_threads << std::endl; - Kokkos::Threads::initialize( num_threads ); + Kokkos::initialize( Kokkos::InitArguments(num_threads) ); } static void TearDownTestCase() { - Kokkos::Threads::finalize(); + Kokkos::finalize(); } }; diff --git a/lib/kokkos/containers/src/Kokkos_Bitset.hpp b/lib/kokkos/containers/src/Kokkos_Bitset.hpp index c48058d75d..bfe8080f3b 100644 --- a/lib/kokkos/containers/src/Kokkos_Bitset.hpp +++ b/lib/kokkos/containers/src/Kokkos_Bitset.hpp @@ -271,7 +271,7 @@ private: block = Impl::rotate_right(block, offset); return ((( !(scan_direction & BIT_SCAN_REVERSE) ? Impl::bit_scan_forward(block) : - Impl::bit_scan_reverse(block) + ::Kokkos::log2(block) ) + offset ) & block_mask ) + block_start; diff --git a/lib/kokkos/containers/src/Kokkos_DualView.hpp b/lib/kokkos/containers/src/Kokkos_DualView.hpp index 74fe4418f8..548e96d251 100644 --- a/lib/kokkos/containers/src/Kokkos_DualView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DualView.hpp @@ -209,14 +209,14 @@ public: /// the first three integer arguments will be nonzero, and you may /// omit the integer arguments that follow. DualView (const std::string& label, - const size_t n0 = 0, - const size_t n1 = 0, - const size_t n2 = 0, - const size_t n3 = 0, - const size_t n4 = 0, - const size_t n5 = 0, - const size_t n6 = 0, - const size_t n7 = 0) + const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG, + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG) : d_view (label, n0, n1, n2, n3, n4, n5, n6, n7) , h_view (create_mirror_view (d_view)) // without UVM, host View mirrors , modified_device (View ("DualView::modified_device")) @@ -464,14 +464,14 @@ public: /// This discards any existing contents of the objects, and resets /// their modified flags. It does not copy the old contents /// of either View into the new View objects. - void realloc( const size_t n0 = 0 , - const size_t n1 = 0 , - const size_t n2 = 0 , - const size_t n3 = 0 , - const size_t n4 = 0 , - const size_t n5 = 0 , - const size_t n6 = 0 , - const size_t n7 = 0 ) { + void realloc( const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG ) { ::Kokkos::realloc(d_view,n0,n1,n2,n3,n4,n5,n6,n7); h_view = create_mirror_view( d_view ); @@ -483,14 +483,14 @@ public: /// /// This method only copies the old contents into the new View /// objects for the device which was last marked as modified. - void resize( const size_t n0 = 0 , - const size_t n1 = 0 , - const size_t n2 = 0 , - const size_t n3 = 0 , - const size_t n4 = 0 , - const size_t n5 = 0 , - const size_t n6 = 0 , - const size_t n7 = 0 ) { + void resize( const size_t n0 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n1 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n2 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n3 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n4 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n5 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n6 = KOKKOS_IMPL_CTOR_DEFAULT_ARG , + const size_t n7 = KOKKOS_IMPL_CTOR_DEFAULT_ARG ) { if(modified_device() >= modified_host()) { /* Resize on Device */ ::Kokkos::resize(d_view,n0,n1,n2,n3,n4,n5,n6,n7); @@ -533,10 +533,21 @@ public: //! \name Methods for getting capacity, stride, or dimension(s). //@{ +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE //! The allocation size (same as Kokkos::View::capacity). size_t capacity() const { return d_view.span(); } +#endif + + //! The allocation size (same as Kokkos::View::span). + KOKKOS_INLINE_FUNCTION constexpr size_t span() const { + return d_view.span(); + } + + KOKKOS_INLINE_FUNCTION bool span_is_contiguous() const { + return d_view.span_is_contiguous(); + } //! Get stride(s) for each dimension. template< typename iType> @@ -556,6 +567,11 @@ public: extent_int( const iType & r ) const { return static_cast(d_view.extent(r)); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE + /* Deprecate all 'dimension' functions in favor of + * ISO/C++ vocabulary 'extent'. + */ + /* \brief return size of dimension 0 */ size_t dimension_0() const {return d_view.extent(0);} /* \brief return size of dimension 1 */ @@ -572,6 +588,7 @@ public: size_t dimension_6() const {return d_view.extent(6);} /* \brief return size of dimension 7 */ size_t dimension_7() const {return d_view.extent(7);} +#endif //@} }; diff --git a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp index ccf53b3d50..b30009a999 100644 --- a/lib/kokkos/containers/src/Kokkos_DynRankView.hpp +++ b/lib/kokkos/containers/src/Kokkos_DynRankView.hpp @@ -64,7 +64,7 @@ namespace Impl { template struct DynRankDimTraits { - enum : size_t{unspecified = ~size_t(0)}; + enum : size_t{unspecified =KOKKOS_INVALID_INDEX}; // Compute the rank of the view from the nonzero dimension arguments. KOKKOS_INLINE_FUNCTION @@ -192,14 +192,14 @@ struct DynRankDimTraits { static typename std::enable_if< (std::is_same::value || std::is_same::value) && std::is_integral::value , Layout >::type reconstructLayout( const Layout& layout , iType dynrank ) { - return Layout( dynrank > 0 ? layout.dimension[0] : ~size_t(0) - , dynrank > 1 ? layout.dimension[1] : ~size_t(0) - , dynrank > 2 ? layout.dimension[2] : ~size_t(0) - , dynrank > 3 ? layout.dimension[3] : ~size_t(0) - , dynrank > 4 ? layout.dimension[4] : ~size_t(0) - , dynrank > 5 ? layout.dimension[5] : ~size_t(0) - , dynrank > 6 ? layout.dimension[6] : ~size_t(0) - , dynrank > 7 ? layout.dimension[7] : ~size_t(0) + return Layout( dynrank > 0 ? layout.dimension[0] :KOKKOS_INVALID_INDEX + , dynrank > 1 ? layout.dimension[1] :KOKKOS_INVALID_INDEX + , dynrank > 2 ? layout.dimension[2] :KOKKOS_INVALID_INDEX + , dynrank > 3 ? layout.dimension[3] :KOKKOS_INVALID_INDEX + , dynrank > 4 ? layout.dimension[4] :KOKKOS_INVALID_INDEX + , dynrank > 5 ? layout.dimension[5] :KOKKOS_INVALID_INDEX + , dynrank > 6 ? layout.dimension[6] :KOKKOS_INVALID_INDEX + , dynrank > 7 ? layout.dimension[7] :KOKKOS_INVALID_INDEX ); } @@ -209,21 +209,21 @@ struct DynRankDimTraits { static typename std::enable_if< (std::is_same::value) && std::is_integral::value , Layout >::type reconstructLayout( const Layout& layout , iType dynrank ) { - return Layout( dynrank > 0 ? layout.dimension[0] : ~size_t(0) + return Layout( dynrank > 0 ? layout.dimension[0] :KOKKOS_INVALID_INDEX , dynrank > 0 ? layout.stride[0] : (0) - , dynrank > 1 ? layout.dimension[1] : ~size_t(0) + , dynrank > 1 ? layout.dimension[1] :KOKKOS_INVALID_INDEX , dynrank > 1 ? layout.stride[1] : (0) - , dynrank > 2 ? layout.dimension[2] : ~size_t(0) + , dynrank > 2 ? layout.dimension[2] :KOKKOS_INVALID_INDEX , dynrank > 2 ? layout.stride[2] : (0) - , dynrank > 3 ? layout.dimension[3] : ~size_t(0) + , dynrank > 3 ? layout.dimension[3] :KOKKOS_INVALID_INDEX , dynrank > 3 ? layout.stride[3] : (0) - , dynrank > 4 ? layout.dimension[4] : ~size_t(0) + , dynrank > 4 ? layout.dimension[4] :KOKKOS_INVALID_INDEX , dynrank > 4 ? layout.stride[4] : (0) - , dynrank > 5 ? layout.dimension[5] : ~size_t(0) + , dynrank > 5 ? layout.dimension[5] :KOKKOS_INVALID_INDEX , dynrank > 5 ? layout.stride[5] : (0) - , dynrank > 6 ? layout.dimension[6] : ~size_t(0) + , dynrank > 6 ? layout.dimension[6] :KOKKOS_INVALID_INDEX , dynrank > 6 ? layout.stride[6] : (0) - , dynrank > 7 ? layout.dimension[7] : ~size_t(0) + , dynrank > 7 ? layout.dimension[7] :KOKKOS_INVALID_INDEX , dynrank > 7 ? layout.stride[7] : (0) ); } @@ -501,6 +501,7 @@ public: * ISO/C++ vocabulary 'extent'. */ +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE template< typename iType > KOKKOS_INLINE_FUNCTION constexpr typename std::enable_if< std::is_integral::value , size_t >::type @@ -514,17 +515,18 @@ public: KOKKOS_INLINE_FUNCTION constexpr size_t dimension_5() const { return m_map.dimension_5(); } KOKKOS_INLINE_FUNCTION constexpr size_t dimension_6() const { return m_map.dimension_6(); } KOKKOS_INLINE_FUNCTION constexpr size_t dimension_7() const { return m_map.dimension_7(); } +#endif //---------------------------------------- - KOKKOS_INLINE_FUNCTION constexpr size_t size() const { return m_map.dimension_0() * - m_map.dimension_1() * - m_map.dimension_2() * - m_map.dimension_3() * - m_map.dimension_4() * - m_map.dimension_5() * - m_map.dimension_6() * - m_map.dimension_7(); } + KOKKOS_INLINE_FUNCTION constexpr size_t size() const { return m_map.extent(0) * + m_map.extent(1) * + m_map.extent(2) * + m_map.extent(3) * + m_map.extent(4) * + m_map.extent(5) * + m_map.extent(6) * + m_map.extent(7); } KOKKOS_INLINE_FUNCTION constexpr size_t stride_0() const { return m_map.stride_0(); } KOKKOS_INLINE_FUNCTION constexpr size_t stride_1() const { return m_map.stride_1(); } @@ -547,15 +549,19 @@ public: enum { reference_type_is_lvalue_reference = std::is_lvalue_reference< reference_type >::value }; KOKKOS_INLINE_FUNCTION constexpr size_t span() const { return m_map.span(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE // Deprecated, use 'span()' instead KOKKOS_INLINE_FUNCTION constexpr size_t capacity() const { return m_map.span(); } +#endif KOKKOS_INLINE_FUNCTION constexpr bool span_is_contiguous() const { return m_map.span_is_contiguous(); } KOKKOS_INLINE_FUNCTION constexpr pointer_type data() const { return m_map.data(); } +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE // Deprecated, use 'span_is_contigous()' instead KOKKOS_INLINE_FUNCTION constexpr bool is_contiguous() const { return m_map.span_is_contiguous(); } // Deprecated, use 'data()' instead KOKKOS_INLINE_FUNCTION constexpr pointer_type ptr_on_device() const { return m_map.data(); } +#endif //---------------------------------------- // Allow specializations to query their specialized map @@ -998,7 +1004,7 @@ public: //---------------------------------------- // Allocation according to allocation properties and array layout - // unused arg_layout dimensions must be set to ~size_t(0) so that rank deduction can properly take place + // unused arg_layout dimensions must be set toKOKKOS_INVALID_INDEX so that rank deduction can properly take place template< class ... P > explicit inline DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop @@ -1038,7 +1044,12 @@ public: , "View allocation constructor requires managed memory" ); if ( alloc_prop::initialize && - ! alloc_prop::execution_space::is_initialized() ) { +#ifdef KOKKOS_ENABLE_DEPRECATED_CODE + ! alloc_prop::execution_space::is_initialized() +#else + ! alloc_prop::execution_space::impl_is_initialized() +#endif + ) { // If initializing view data then // the execution space must be initialized. Kokkos::Impl::throw_runtime_exception("Constructing DynRankView and initializing data with uninitialized execution space"); @@ -1104,14 +1115,14 @@ public: DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop , typename std::enable_if< ! Kokkos::Impl::ViewCtorProp< P... >::has_pointer , size_t - >::type const arg_N0 = ~size_t(0) - , const size_t arg_N1 = ~size_t(0) - , const size_t arg_N2 = ~size_t(0) - , const size_t arg_N3 = ~size_t(0) - , const size_t arg_N4 = ~size_t(0) - , const size_t arg_N5 = ~size_t(0) - , const size_t arg_N6 = ~size_t(0) - , const size_t arg_N7 = ~size_t(0) + >::type const arg_N0 =KOKKOS_INVALID_INDEX + , const size_t arg_N1 =KOKKOS_INVALID_INDEX + , const size_t arg_N2 =KOKKOS_INVALID_INDEX + , const size_t arg_N3 =KOKKOS_INVALID_INDEX + , const size_t arg_N4 =KOKKOS_INVALID_INDEX + , const size_t arg_N5 =KOKKOS_INVALID_INDEX + , const size_t arg_N6 =KOKKOS_INVALID_INDEX + , const size_t arg_N7 =KOKKOS_INVALID_INDEX ) : DynRankView( arg_prop , typename traits::array_layout @@ -1124,14 +1135,14 @@ public: DynRankView( const Kokkos::Impl::ViewCtorProp< P ... > & arg_prop , typename std::enable_if< Kokkos::Impl::ViewCtorProp< P... >::has_pointer , size_t - >::type const arg_N0 = ~size_t(0) - , const size_t arg_N1 = ~size_t(0) - , const size_t arg_N2 = ~size_t(0) - , const size_t arg_N3 = ~size_t(0) - , const size_t arg_N4 = ~size_t(0) - , const size_t arg_N5 = ~size_t(0) - , const size_t arg_N6 = ~size_t(0) - , const size_t arg_N7 = ~size_t(0) + >::type const arg_N0 =KOKKOS_INVALID_INDEX + , const size_t arg_N1 =KOKKOS_INVALID_INDEX + , const size_t arg_N2 =KOKKOS_INVALID_INDEX + , const size_t arg_N3 =KOKKOS_INVALID_INDEX + , const size_t arg_N4 =KOKKOS_INVALID_INDEX + , const size_t arg_N5 =KOKKOS_INVALID_INDEX + , const size_t arg_N6 =KOKKOS_INVALID_INDEX + , const size_t arg_N7 =KOKKOS_INVALID_INDEX ) : DynRankView( arg_prop , typename traits::array_layout @@ -1156,14 +1167,14 @@ public: DynRankView( const Label & arg_label , typename std::enable_if< Kokkos::Impl::is_view_label