From 1b4abe9cebb3d1cebab7d7f6e3f499c3556e2fa3 Mon Sep 17 00:00:00 2001 From: paugier Date: Thu, 1 Feb 2024 07:20:41 +0100 Subject: [PATCH] Reorganize fluidfft_builder --- .../{src_cy => }/create_fake_mod_for_doc.py | 0 .../{src_cy => include_cy}/base.pyx | 0 .../{src_cy => include_cy}/cpu.pxd | 0 .../{src_cy => include_cy}/util_pyfftw.pyx | 0 ...ke_files_with_mako.py => make_cy_files.py} | 0 .../fluidfft_builder/src_cy/Makefile | 19 ---- .../fluidfft_builder/src_cy/__init__.py | 0 .../fluidfft_builder/src_cy/tmp_2dto3d.py | 95 ------------------- .../{src_cy => templates}/template2d_mako.pxd | 0 .../{src_cy => templates}/template2d_mako.pyx | 0 .../{src_cy => templates}/template3d_mako.pxd | 0 .../{src_cy => templates}/template3d_mako.pyx | 0 12 files changed, 114 deletions(-) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => }/create_fake_mod_for_doc.py (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => include_cy}/base.pyx (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => include_cy}/cpu.pxd (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => include_cy}/util_pyfftw.pyx (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy/make_files_with_mako.py => make_cy_files.py} (100%) delete mode 100644 plugins/fluidfft-builder/fluidfft_builder/src_cy/Makefile delete mode 100644 plugins/fluidfft-builder/fluidfft_builder/src_cy/__init__.py delete mode 100644 plugins/fluidfft-builder/fluidfft_builder/src_cy/tmp_2dto3d.py rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => templates}/template2d_mako.pxd (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => templates}/template2d_mako.pyx (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => templates}/template3d_mako.pxd (100%) rename plugins/fluidfft-builder/fluidfft_builder/{src_cy => templates}/template3d_mako.pyx (100%) diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/create_fake_mod_for_doc.py b/plugins/fluidfft-builder/fluidfft_builder/create_fake_mod_for_doc.py similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/create_fake_mod_for_doc.py rename to plugins/fluidfft-builder/fluidfft_builder/create_fake_mod_for_doc.py diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/base.pyx b/plugins/fluidfft-builder/fluidfft_builder/include_cy/base.pyx similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/base.pyx rename to plugins/fluidfft-builder/fluidfft_builder/include_cy/base.pyx diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/cpu.pxd b/plugins/fluidfft-builder/fluidfft_builder/include_cy/cpu.pxd similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/cpu.pxd rename to plugins/fluidfft-builder/fluidfft_builder/include_cy/cpu.pxd diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/util_pyfftw.pyx b/plugins/fluidfft-builder/fluidfft_builder/include_cy/util_pyfftw.pyx similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/util_pyfftw.pyx rename to plugins/fluidfft-builder/fluidfft_builder/include_cy/util_pyfftw.pyx diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/make_files_with_mako.py b/plugins/fluidfft-builder/fluidfft_builder/make_cy_files.py similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/make_files_with_mako.py rename to plugins/fluidfft-builder/fluidfft_builder/make_cy_files.py diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/Makefile b/plugins/fluidfft-builder/fluidfft_builder/src_cy/Makefile deleted file mode 100644 index 034c037..0000000 --- a/plugins/fluidfft-builder/fluidfft_builder/src_cy/Makefile +++ /dev/null @@ -1,19 +0,0 @@ - - -.PHONY: help all clean clean_cython - -all: - python make_files_with_mako.py - -cleanall: cleancython cleanmako - -cleancython: - # remove files produced by cython - rm -f *_cy.cpp *_cy.c - -cleanmako: - # remove files produced by mako - rm -f *_cy.pyx *_pxd.pxd - -mako: - python make_files_with_mako.py diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/__init__.py b/plugins/fluidfft-builder/fluidfft_builder/src_cy/__init__.py deleted file mode 100644 index e69de29..0000000 diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/tmp_2dto3d.py b/plugins/fluidfft-builder/fluidfft_builder/src_cy/tmp_2dto3d.py deleted file mode 100644 index 2caa4ca..0000000 --- a/plugins/fluidfft-builder/fluidfft_builder/src_cy/tmp_2dto3d.py +++ /dev/null @@ -1,95 +0,0 @@ -import numpy as np - -from fluidfft import import_fft_class - -FFT3D = import_fft_class("fft3d.mpi_with_fftwmpi3d") -FFT2D = import_fft_class("fft2d.with_fftw2d") - - -def build_arrayX_from_2d_indices12(self, o2d, arr2d): - nX0, nX1, nX2 = self.get_shapeX_seq() - nX0loc, nX1loc, nX2loc = self.get_shapeX_loc() - - if (nX1, nX2) != o2d.get_shapeX_seq(): - raise ValueError("Not the same physical shape...") - - # check that the 2d fft is not with distributed memory... - if o2d.get_shapeX_loc() != o2d.get_shapeX_loc(): - raise ValueError("2d fft is with distributed memory...") - - if (nX1loc, nX2loc) == o2d.get_shapeX_loc(): - arr3d_loc_2dslice = arr2d - else: - raise NotImplementedError - - arr3d = np.empty([nX0loc, nX1loc, nX2loc]) - for i0 in range(nX0loc): - arr3d[i0] = arr3d_loc_2dslice - - return arr3d - - -def build_invariant_arrayK_from_2d_indices12X(self, o2d, arr2d): - nK0, nK1, nK2 = self.get_shapeK_seq() - nK0loc, nK1loc, nK2loc = self.get_shapeK_loc() - - nX0, nX1, nX2 = self.get_shapeX_seq() - - if (nX1, nX2) != o2d.get_shapeX_seq(): - raise ValueError("Not the same physical shape...") - - # check that the 2d fft is not with distributed memory... - if o2d.get_shapeX_loc() != o2d.get_shapeX_loc(): - raise ValueError("2d fft is with distributed memory...") - - ind0seq_first, ind1seq_first = self.get_seq_indices_first_K() - dimX_K = self.get_dimX_K() - - arr3d = np.zeros([nK0loc, nK1loc, nK2loc], dtype=np.complex128) - - if dimX_K == (0, 1, 2): - # simple - if (nK0, nK1, nK2) == (nK0loc, nK1loc, nK2loc): - # very simple - arr3d_loc_2dslice = arr2d - else: - raise NotImplementedError - - arr3d[0] = arr3d_loc_2dslice - - elif dimX_K == (1, 0, 2): - # like fft3d.mpi_with_fftwmpi3d - arr3d_loc_2dslice = np.zeros([nK0loc, nK2loc], dtype=np.complex128) - - for i0 in range(nK0loc): - for i2 in range(nK2loc): - i0_2d = ind0seq_first + i0 - i1_2d = i2 - arr3d_loc_2dslice[i0, i2] = arr2d[i0_2d, i1_2d] - - arr3d[:, 0, :] = arr3d_loc_2dslice - else: - raise NotImplementedError - - return arr3d - - -n = 4 - -n0 = n -n1 = 10 * n -n2 = 100 * n - -o3d = FFT3D(n0, n1, n2) -o2d = FFT2D(n1, n2) - -shapeK_loc_2d = o2d.get_shapeK_loc() - -arr2d = ( - np.arange(np.product(shapeK_loc_2d)) - .reshape(shapeK_loc_2d) - .astype(np.complex128) -) - -arr3d = build_invariant_arrayK_from_2d_indices12X(o3d, o2d, arr2d) -# arr3d = o3d.build_invariant_arrayK_from_2d_indices12X(o2d, arr2d) diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/template2d_mako.pxd b/plugins/fluidfft-builder/fluidfft_builder/templates/template2d_mako.pxd similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/template2d_mako.pxd rename to plugins/fluidfft-builder/fluidfft_builder/templates/template2d_mako.pxd diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/template2d_mako.pyx b/plugins/fluidfft-builder/fluidfft_builder/templates/template2d_mako.pyx similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/template2d_mako.pyx rename to plugins/fluidfft-builder/fluidfft_builder/templates/template2d_mako.pyx diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/template3d_mako.pxd b/plugins/fluidfft-builder/fluidfft_builder/templates/template3d_mako.pxd similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/template3d_mako.pxd rename to plugins/fluidfft-builder/fluidfft_builder/templates/template3d_mako.pxd diff --git a/plugins/fluidfft-builder/fluidfft_builder/src_cy/template3d_mako.pyx b/plugins/fluidfft-builder/fluidfft_builder/templates/template3d_mako.pyx similarity index 100% rename from plugins/fluidfft-builder/fluidfft_builder/src_cy/template3d_mako.pyx rename to plugins/fluidfft-builder/fluidfft_builder/templates/template3d_mako.pyx