Skip to content
Snippets Groups Projects
Commit d5d04ed7 authored by Jean-Baptiste Keck's avatar Jean-Baptiste Keck
Browse files

fix 1D HPTT

parent e28fa3c1
No related branches found
No related tags found
1 merge request!16MPI operators
......@@ -30,7 +30,7 @@ def can_exec_hptt(src, dst):
return False
if src.flags['F_CONTIGUOUS'] != dst.flags['F_CONTIGUOUS']:
return False
if not (src.flags['C_CONTIGUOUS'] or src.flags['F_CONTIGUOUS']):
if not (src.flags['C_CONTIGUOUS'] ^ src.flags['F_CONTIGUOUS']):
return False
return (src.data is not dst.data)
......@@ -137,7 +137,9 @@ class HostFFTI(FFTI):
@static_vars(numba_copy=None)
def exec_copy(src=src, dst=dst):
src, dst = src(), dst()
if HAS_HPTT and can_exec_hptt(src, dst):
if (src.ndim == 1):
dst[...] = src
elif HAS_HPTT and can_exec_hptt(src, dst):
hptt.tensorTransposeAndUpdate(perm=range(src.ndim),
alpha=1.0, A=src, beta=0.0, B=dst)
elif HAS_NUMBA:
......
......@@ -319,24 +319,24 @@ class TestSpectralDerivative(object):
# def test_1d_trigonometric_float32(self, **kwds):
# self._test(dim=1, dtype=npw.float32, polynomial=False, **kwds)
# def test_2d_trigonometric_float32(self, **kwds):
# self._test(dim=2, dtype=npw.float32, polynomial=False, **kwds)
def test_1d_trigonometric_float32(self, **kwds):
self._test(dim=1, dtype=npw.float32, polynomial=False, **kwds)
def test_2d_trigonometric_float32(self, **kwds):
self._test(dim=2, dtype=npw.float32, polynomial=False, **kwds)
def test_3d_trigonometric_float32(self, **kwds):
self._test(dim=3, dtype=npw.float32, polynomial=False, **kwds)
# def test_1d_trigonometric_float64(self, **kwds):
# self._test(dim=1, dtype=npw.float64, polynomial=False, **kwds)
# def test_2d_trigonometric_float64(self, **kwds):
# self._test(dim=2, dtype=npw.float64, polynomial=False, **kwds)
def test_1d_trigonometric_float64(self, **kwds):
self._test(dim=1, dtype=npw.float64, polynomial=False, **kwds)
def test_2d_trigonometric_float64(self, **kwds):
self._test(dim=2, dtype=npw.float64, polynomial=False, **kwds)
def test_3d_trigonometric_float64(self, **kwds):
self._test(dim=3, dtype=npw.float64, polynomial=False, **kwds)
# def test_1d_polynomial_float32(self, **kwds):
# self._test(dim=1, dtype=npw.float32, polynomial=True, **kwds)
# def test_2d_polynomial_float32(self, **kwds):
# self._test(dim=2, dtype=npw.float32, polynomial=True, **kwds)
def test_1d_polynomial_float32(self, **kwds):
self._test(dim=1, dtype=npw.float32, polynomial=True, **kwds)
def test_2d_polynomial_float32(self, **kwds):
self._test(dim=2, dtype=npw.float32, polynomial=True, **kwds)
def test_3d_polynomial_float32(self, **kwds):
self._test(dim=3, dtype=npw.float32, polynomial=True, **kwds)
......@@ -344,7 +344,7 @@ class TestSpectralDerivative(object):
max_2d_runs = None if __ENABLE_LONG_TESTS__ else 2
max_3d_runs = None if __ENABLE_LONG_TESTS__ else 2
# self.test_1d_trigonometric_float32(max_derivative=3)
self.test_1d_trigonometric_float32(max_derivative=3)
# self.test_2d_trigonometric_float32(max_derivative=2, max_runs=max_2d_runs)
self.test_3d_trigonometric_float32(max_derivative=1, max_runs=max_3d_runs)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment