diff --git a/Python/SlurmTests/poiseuille/settings.py b/Python/SlurmTests/poiseuille/settings.py
index f75c2b1d7133323880dd5520de0a96cb8fa87860..4b4a1e4e9cc7f6118a60c22a40c70b027e3ac4e2 100644
--- a/Python/SlurmTests/poiseuille/settings.py
+++ b/Python/SlurmTests/poiseuille/settings.py
@@ -1,7 +1,7 @@
 import os
 from acousticscaling import OneDirectionalAcousticScaling
-from pyfluids.kernel import LBMKernel, KernelType
-from pyfluids.parameters import RuntimeParameters, GridParameters, PhysicalParameters
+from pyfluids.cpu.kernel import LBMKernel, KernelType
+from pyfluids.cpu.parameters import RuntimeParameters, GridParameters, PhysicalParameters
 
 
 grid_params = GridParameters()
diff --git a/Python/SlurmTests/poiseuille/simulation_runner.py b/Python/SlurmTests/poiseuille/simulation_runner.py
index 0b75de40b6a8f11ccd76f97f2ed9d709dc5362dd..03fb24be7ea1a6468ae25ec3aa40ab59962ef91e 100644
--- a/Python/SlurmTests/poiseuille/simulation_runner.py
+++ b/Python/SlurmTests/poiseuille/simulation_runner.py
@@ -2,7 +2,7 @@ import os
 
 from SlurmTests.poiseuille.settings import Scaling
 from poiseuille.simulation import run_simulation
-from pyfluids.writer import Writer, OutputFormat
+from pyfluids.cpu.writer import Writer, OutputFormat
 
 
 scale_level = int(os.environ["PYFLUIDS_SCALE_LEVEL"])
diff --git a/Python/acousticscaling.py b/Python/acousticscaling.py
index 6622685a9f2d2ce14cb952cc92dcd9580e535bae..a664b8e924d648b680562b9aef11bee87b3562b1 100644
--- a/Python/acousticscaling.py
+++ b/Python/acousticscaling.py
@@ -1,5 +1,5 @@
-from pyfluids.kernel import LBMKernel
-from pyfluids.parameters import GridParameters, PhysicalParameters, RuntimeParameters
+from pyfluids.cpu.kernel import LBMKernel
+from pyfluids.cpu.parameters import GridParameters, PhysicalParameters, RuntimeParameters
 
 
 class OneDirectionalAcousticScaling:
diff --git a/Python/cubeflow/simulation.py b/Python/cubeflow/simulation.py
index c8c145fdc27b5eab6a6e2df95d94f27999b6e258..9e77e8d747c072188d8d81150afa8e2ccb76a792 100644
--- a/Python/cubeflow/simulation.py
+++ b/Python/cubeflow/simulation.py
@@ -1,9 +1,9 @@
-from pyfluids import Simulation
-from pyfluids.boundaryconditions import NoSlipBoundaryCondition, VelocityBoundaryCondition, DensityBoundaryCondition
-from pyfluids.geometry import GbCuboid3D
-from pyfluids.kernel import LBMKernel, KernelType
-from pyfluids.parameters import PhysicalParameters, RuntimeParameters, GridParameters
-from pyfluids.writer import Writer, OutputFormat
+from pyfluids.cpu import Simulation
+from pyfluids.cpu.boundaryconditions import NoSlipBoundaryCondition, VelocityBoundaryCondition, DensityBoundaryCondition
+from pyfluids.cpu.geometry import GbCuboid3D
+from pyfluids.cpu.kernel import LBMKernel, KernelType
+from pyfluids.cpu.parameters import PhysicalParameters, RuntimeParameters, GridParameters
+from pyfluids.cpu.writer import Writer, OutputFormat
 from pymuparser import Parser
 
 import os
diff --git a/Python/poiseuille/poiseuille_hpc.py b/Python/poiseuille/poiseuille_hpc.py
index b9bf67531f3b760bacc1912dc39b57d8b594253c..f5f5a1387c9fe234abae0c6f979cc7d5b283d1a4 100644
--- a/Python/poiseuille/poiseuille_hpc.py
+++ b/Python/poiseuille/poiseuille_hpc.py
@@ -1,5 +1,5 @@
 from poiseuille.simulation import run_simulation
-from pyfluids.parameters import *
+from pyfluids.cpu.parameters import *
 
 grid_parameters = GridParameters()
 grid_parameters.number_of_nodes_per_direction = [64, 64, 512]
diff --git a/Python/poiseuille/simulation.py b/Python/poiseuille/simulation.py
index 31ceb1ab9ef90fa4fd606bde4f47c45b8f7d7567..d107801fa84cfe16d1d7e91d31dc3ff4b8671f02 100644
--- a/Python/poiseuille/simulation.py
+++ b/Python/poiseuille/simulation.py
@@ -1,9 +1,9 @@
-from pyfluids import Simulation
-from pyfluids.boundaryconditions import NoSlipBoundaryCondition
-from pyfluids.geometry import GbCuboid3D, State
-from pyfluids.kernel import LBMKernel, KernelType
-from pyfluids.parameters import RuntimeParameters, GridParameters, PhysicalParameters
-from pyfluids.writer import Writer, OutputFormat
+from pyfluids.cpu import Simulation
+from pyfluids.cpu.boundaryconditions import NoSlipBoundaryCondition
+from pyfluids.cpu.geometry import GbCuboid3D, State
+from pyfluids.cpu.kernel import LBMKernel, KernelType
+from pyfluids.cpu.parameters import RuntimeParameters, GridParameters, PhysicalParameters
+from pyfluids.cpu.writer import Writer, OutputFormat
 
 default_grid_params = GridParameters()
 default_grid_params.node_distance = 10 / 32
diff --git a/Python/poiseuille/test_poiseuille_l2.py b/Python/poiseuille/test_poiseuille_l2.py
index 39c8b6dffe05e3c352e7fd340857e43d8d5a3dc8..93aa2600d5260dea7e72f3aa98db7334fe5285c6 100644
--- a/Python/poiseuille/test_poiseuille_l2.py
+++ b/Python/poiseuille/test_poiseuille_l2.py
@@ -5,8 +5,8 @@ import unittest
 import matplotlib.pyplot as plt
 import numpy as np
 import pyvista as pv
-from pyfluids.kernel import LBMKernel, KernelType
-from pyfluids.parameters import GridParameters, PhysicalParameters, RuntimeParameters
+from pyfluids.cpu.kernel import LBMKernel, KernelType
+from pyfluids.cpu.parameters import GridParameters, PhysicalParameters, RuntimeParameters
 from scipy import stats
 
 from errors import normalized_l2_error
diff --git a/Python/tests/test_acousticscaling.py b/Python/tests/test_acousticscaling.py
index 2da5314529f9559f9ac316f2d1bb3f1a9d0e1211..6413123a80db8c5882fcf1dbe6f72a1f5438736c 100644
--- a/Python/tests/test_acousticscaling.py
+++ b/Python/tests/test_acousticscaling.py
@@ -1,8 +1,8 @@
 import unittest
 from typing import List
 
-from pyfluids.kernel import LBMKernel, KernelType
-from pyfluids.parameters import GridParameters, PhysicalParameters, RuntimeParameters
+from pyfluids.cpu.kernel import LBMKernel, KernelType
+from pyfluids.cpu.parameters import GridParameters, PhysicalParameters, RuntimeParameters
 
 from acousticscaling import OneDirectionalAcousticScaling
 
diff --git a/Python/tests/test_boundaryconditions.py b/Python/tests/test_boundaryconditions.py
index 5a7d61f36337398fc5621540951f15b72262b17b..e004ddfa21c78ea3d63a89f5dbc3bd7438a18ff1 100644
--- a/Python/tests/test_boundaryconditions.py
+++ b/Python/tests/test_boundaryconditions.py
@@ -1,5 +1,5 @@
 import unittest
-from pyfluids.boundaryconditions import *
+from pyfluids.cpu.boundaryconditions import *
 
 
 class BoundaryConditionsTest(unittest.TestCase):
diff --git a/Python/tests/test_geometry.py b/Python/tests/test_geometry.py
index 5e953f58b4b24393ae3a8f2994184c9c7f27eca3..5bb89eb245b6055653b78fde381da050d402b0cc 100644
--- a/Python/tests/test_geometry.py
+++ b/Python/tests/test_geometry.py
@@ -1,6 +1,6 @@
 import unittest
 
-from pyfluids.geometry import *
+from pyfluids.cpu.geometry import *
 
 
 class TestGeometry(unittest.TestCase):
diff --git a/Python/tests/test_kernel.py b/Python/tests/test_kernel.py
index b1016f15308a77c9025787e061355819cbca3874..8f58a1c869f9e292856268d43245a75f1dcfe213 100644
--- a/Python/tests/test_kernel.py
+++ b/Python/tests/test_kernel.py
@@ -1,6 +1,6 @@
 import unittest
 
-from pyfluids.kernel import LBMKernel, KernelType
+from pyfluids.cpu.kernel import LBMKernel, KernelType
 
 
 class TestLBMKernel(unittest.TestCase):