Commit 17d8bd16 authored by Giovanni La Mura's avatar Giovanni La Mura
Browse files

Fix offload mapping of cfrfme loop

parent 5d3eb583
Loading
Loading
Loading
Loading
+6 −4
Original line number Diff line number Diff line
@@ -667,7 +667,9 @@ void offload_loop(
  int nkvs = nkv * nkv;
  const dcomplex cc0 = 0.0 + I * 0.0;
  const dcomplex uim = 0.0 + I * 1.0;
#pragma omp target teams distribute parallel for
#pragma omp target teams distribute parallel for \
  map(to: jlmf, jlml, nkv, nkvs, nrvc, nlmmt, nxv, nyv, nzv) \
  map(to: delks, frsh) map(to: cc0, uim)
  for (int j80 = jlmf - 1; j80 < jlml; j80++) {
    dcomplex *vec_w = global_vec_w + nkvs * (j80 - jlmf + 1);
#pragma omp parallel for simd
@@ -700,9 +702,9 @@ void offload_loop(
	double vkx = (jx55 == 0) ? vkv[nkv - 1] : vkv[jx55];
	double vkz = vec_vkzm[(jx55 * nkv) + jy60];
	double sign = (jx55 == 0) ? -1.0 : 1.0;
	double rpart = cos(sign * vkx * x + vky * y + vkz * z);
	double ipart = sin(vkx * x + vky * y + vkz * z);
	dcomplex phas = rpart + I * ipart;
	double rpart = cos(vkx * x + vky * y + vkz * z);
	double ipart = sin(sign * vkx * x + vky * y + vkz * z);
	dcomplex phas = rpart + uim * ipart;
	// dcomplex phas = cexp(uim * (sign * vkx * x + vky * y + vkz * z));
	dcomplex sumx = vec_w[w_index] * phas;
	double factor1 = ((jx55 == 0) || (jx55 == (nkv - 1))) ? 0.5 : 1.0;