diff --git a/Applications/Applications.cmake b/cpu/Applications/Applications.cmake
similarity index 100%
rename from Applications/Applications.cmake
rename to cpu/Applications/Applications.cmake
diff --git a/Applications/IncludsList.cmake b/cpu/Applications/IncludsList.cmake
similarity index 100%
rename from Applications/IncludsList.cmake
rename to cpu/Applications/IncludsList.cmake
diff --git a/Applications/LidDrivenCavity/CMakeLists.txt b/cpu/Applications/LidDrivenCavity/CMakeLists.txt
similarity index 100%
rename from Applications/LidDrivenCavity/CMakeLists.txt
rename to cpu/Applications/LidDrivenCavity/CMakeLists.txt
diff --git a/Applications/LidDrivenCavity/LidDrivenCavity.cpp b/cpu/Applications/LidDrivenCavity/LidDrivenCavity.cpp
similarity index 100%
rename from Applications/LidDrivenCavity/LidDrivenCavity.cpp
rename to cpu/Applications/LidDrivenCavity/LidDrivenCavity.cpp
diff --git a/Applications/VirtualFluids.h b/cpu/Applications/VirtualFluids.h
similarity index 100%
rename from Applications/VirtualFluids.h
rename to cpu/Applications/VirtualFluids.h
diff --git a/CMake/CMakeCABMacros.txt b/cpu/CMake/CMakeCABMacros.txt
similarity index 100%
rename from CMake/CMakeCABMacros.txt
rename to cpu/CMake/CMakeCABMacros.txt
diff --git a/CMake/CMakeCompilerMacros.txt b/cpu/CMake/CMakeCompilerMacros.txt
similarity index 100%
rename from CMake/CMakeCompilerMacros.txt
rename to cpu/CMake/CMakeCompilerMacros.txt
diff --git a/CMake/CMakeSetCompilerFlags.txt b/cpu/CMake/CMakeSetCompilerFlags.txt
similarity index 100%
rename from CMake/CMakeSetCompilerFlags.txt
rename to cpu/CMake/CMakeSetCompilerFlags.txt
diff --git a/CMake/compilerflags/clang.cmake b/cpu/CMake/compilerflags/clang.cmake
similarity index 100%
rename from CMake/compilerflags/clang.cmake
rename to cpu/CMake/compilerflags/clang.cmake
diff --git a/CMake/compilerflags/gcc33.cmake b/cpu/CMake/compilerflags/gcc33.cmake
similarity index 100%
rename from CMake/compilerflags/gcc33.cmake
rename to cpu/CMake/compilerflags/gcc33.cmake
diff --git a/CMake/compilerflags/gcc34.cmake b/cpu/CMake/compilerflags/gcc34.cmake
similarity index 100%
rename from CMake/compilerflags/gcc34.cmake
rename to cpu/CMake/compilerflags/gcc34.cmake
diff --git a/CMake/compilerflags/gcc40.cmake b/cpu/CMake/compilerflags/gcc40.cmake
similarity index 100%
rename from CMake/compilerflags/gcc40.cmake
rename to cpu/CMake/compilerflags/gcc40.cmake
diff --git a/CMake/compilerflags/gcc41.cmake b/cpu/CMake/compilerflags/gcc41.cmake
similarity index 100%
rename from CMake/compilerflags/gcc41.cmake
rename to cpu/CMake/compilerflags/gcc41.cmake
diff --git a/CMake/compilerflags/gcc42.cmake b/cpu/CMake/compilerflags/gcc42.cmake
similarity index 100%
rename from CMake/compilerflags/gcc42.cmake
rename to cpu/CMake/compilerflags/gcc42.cmake
diff --git a/CMake/compilerflags/gcc43.cmake b/cpu/CMake/compilerflags/gcc43.cmake
similarity index 100%
rename from CMake/compilerflags/gcc43.cmake
rename to cpu/CMake/compilerflags/gcc43.cmake
diff --git a/CMake/compilerflags/gcc44.cmake b/cpu/CMake/compilerflags/gcc44.cmake
similarity index 100%
rename from CMake/compilerflags/gcc44.cmake
rename to cpu/CMake/compilerflags/gcc44.cmake
diff --git a/CMake/compilerflags/gcc45.cmake b/cpu/CMake/compilerflags/gcc45.cmake
similarity index 100%
rename from CMake/compilerflags/gcc45.cmake
rename to cpu/CMake/compilerflags/gcc45.cmake
diff --git a/CMake/compilerflags/gcc46.cmake b/cpu/CMake/compilerflags/gcc46.cmake
similarity index 100%
rename from CMake/compilerflags/gcc46.cmake
rename to cpu/CMake/compilerflags/gcc46.cmake
diff --git a/CMake/compilerflags/gcc47.cmake b/cpu/CMake/compilerflags/gcc47.cmake
similarity index 100%
rename from CMake/compilerflags/gcc47.cmake
rename to cpu/CMake/compilerflags/gcc47.cmake
diff --git a/CMake/compilerflags/gcc48.cmake b/cpu/CMake/compilerflags/gcc48.cmake
similarity index 100%
rename from CMake/compilerflags/gcc48.cmake
rename to cpu/CMake/compilerflags/gcc48.cmake
diff --git a/CMake/compilerflags/gcc49.cmake b/cpu/CMake/compilerflags/gcc49.cmake
similarity index 100%
rename from CMake/compilerflags/gcc49.cmake
rename to cpu/CMake/compilerflags/gcc49.cmake
diff --git a/CMake/compilerflags/gcc51.cmake b/cpu/CMake/compilerflags/gcc51.cmake
similarity index 100%
rename from CMake/compilerflags/gcc51.cmake
rename to cpu/CMake/compilerflags/gcc51.cmake
diff --git a/CMake/compilerflags/gcc52.cmake b/cpu/CMake/compilerflags/gcc52.cmake
similarity index 100%
rename from CMake/compilerflags/gcc52.cmake
rename to cpu/CMake/compilerflags/gcc52.cmake
diff --git a/CMake/compilerflags/gcc54.cmake b/cpu/CMake/compilerflags/gcc54.cmake
similarity index 100%
rename from CMake/compilerflags/gcc54.cmake
rename to cpu/CMake/compilerflags/gcc54.cmake
diff --git a/CMake/compilerflags/gcc62.cmake b/cpu/CMake/compilerflags/gcc62.cmake
similarity index 100%
rename from CMake/compilerflags/gcc62.cmake
rename to cpu/CMake/compilerflags/gcc62.cmake
diff --git a/CMake/compilerflags/gcc63.cmake b/cpu/CMake/compilerflags/gcc63.cmake
similarity index 100%
rename from CMake/compilerflags/gcc63.cmake
rename to cpu/CMake/compilerflags/gcc63.cmake
diff --git a/CMake/compilerflags/gcc82.cmake b/cpu/CMake/compilerflags/gcc82.cmake
similarity index 100%
rename from CMake/compilerflags/gcc82.cmake
rename to cpu/CMake/compilerflags/gcc82.cmake
diff --git a/CMake/compilerflags/gccGeneric.cmake b/cpu/CMake/compilerflags/gccGeneric.cmake
similarity index 100%
rename from CMake/compilerflags/gccGeneric.cmake
rename to cpu/CMake/compilerflags/gccGeneric.cmake
diff --git a/CMake/compilerflags/icc101.cmake b/cpu/CMake/compilerflags/icc101.cmake
similarity index 100%
rename from CMake/compilerflags/icc101.cmake
rename to cpu/CMake/compilerflags/icc101.cmake
diff --git a/CMake/compilerflags/icc130.cmake b/cpu/CMake/compilerflags/icc130.cmake
similarity index 100%
rename from CMake/compilerflags/icc130.cmake
rename to cpu/CMake/compilerflags/icc130.cmake
diff --git a/CMake/compilerflags/icc140.cmake b/cpu/CMake/compilerflags/icc140.cmake
similarity index 100%
rename from CMake/compilerflags/icc140.cmake
rename to cpu/CMake/compilerflags/icc140.cmake
diff --git a/CMake/compilerflags/icc150.cmake b/cpu/CMake/compilerflags/icc150.cmake
similarity index 100%
rename from CMake/compilerflags/icc150.cmake
rename to cpu/CMake/compilerflags/icc150.cmake
diff --git a/CMake/compilerflags/icc160.cmake b/cpu/CMake/compilerflags/icc160.cmake
similarity index 100%
rename from CMake/compilerflags/icc160.cmake
rename to cpu/CMake/compilerflags/icc160.cmake
diff --git a/CMake/compilerflags/icc170.cmake b/cpu/CMake/compilerflags/icc170.cmake
similarity index 100%
rename from CMake/compilerflags/icc170.cmake
rename to cpu/CMake/compilerflags/icc170.cmake
diff --git a/CMake/compilerflags/icc180.cmake b/cpu/CMake/compilerflags/icc180.cmake
similarity index 100%
rename from CMake/compilerflags/icc180.cmake
rename to cpu/CMake/compilerflags/icc180.cmake
diff --git a/CMake/compilerflags/icc190.cmake b/cpu/CMake/compilerflags/icc190.cmake
similarity index 100%
rename from CMake/compilerflags/icc190.cmake
rename to cpu/CMake/compilerflags/icc190.cmake
diff --git a/CMake/compilerflags/icc91.cmake b/cpu/CMake/compilerflags/icc91.cmake
similarity index 100%
rename from CMake/compilerflags/icc91.cmake
rename to cpu/CMake/compilerflags/icc91.cmake
diff --git a/CMake/compilerflags/msvc19_32.cmake b/cpu/CMake/compilerflags/msvc19_32.cmake
similarity index 100%
rename from CMake/compilerflags/msvc19_32.cmake
rename to cpu/CMake/compilerflags/msvc19_32.cmake
diff --git a/CMake/compilerflags/msvc19_64.cmake b/cpu/CMake/compilerflags/msvc19_64.cmake
similarity index 100%
rename from CMake/compilerflags/msvc19_64.cmake
rename to cpu/CMake/compilerflags/msvc19_64.cmake
diff --git a/CMakeLists.txt b/cpu/CMakeLists.txt
similarity index 100%
rename from CMakeLists.txt
rename to cpu/CMakeLists.txt
diff --git a/COPYING.txt b/cpu/COPYING.txt
similarity index 100%
rename from COPYING.txt
rename to cpu/COPYING.txt
diff --git a/Documentation/doxygen/VF_Doxyfile.dox b/cpu/Documentation/doxygen/VF_Doxyfile.dox
similarity index 100%
rename from Documentation/doxygen/VF_Doxyfile.dox
rename to cpu/Documentation/doxygen/VF_Doxyfile.dox
diff --git a/Documentation/doxygen/VirtualFluidsLogo_lowResolution.png b/cpu/Documentation/doxygen/VirtualFluidsLogo_lowResolution.png
similarity index 100%
rename from Documentation/doxygen/VirtualFluidsLogo_lowResolution.png
rename to cpu/Documentation/doxygen/VirtualFluidsLogo_lowResolution.png
diff --git a/ThirdParty/MuParser/CMakePackage.txt b/cpu/ThirdParty/MuParser/CMakePackage.txt
similarity index 100%
rename from ThirdParty/MuParser/CMakePackage.txt
rename to cpu/ThirdParty/MuParser/CMakePackage.txt
diff --git a/ThirdParty/MuParser/Changes.txt b/cpu/ThirdParty/MuParser/Changes.txt
similarity index 100%
rename from ThirdParty/MuParser/Changes.txt
rename to cpu/ThirdParty/MuParser/Changes.txt
diff --git a/ThirdParty/MuParser/Install.txt b/cpu/ThirdParty/MuParser/Install.txt
similarity index 100%
rename from ThirdParty/MuParser/Install.txt
rename to cpu/ThirdParty/MuParser/Install.txt
diff --git a/ThirdParty/MuParser/License.txt b/cpu/ThirdParty/MuParser/License.txt
similarity index 100%
rename from ThirdParty/MuParser/License.txt
rename to cpu/ThirdParty/MuParser/License.txt
diff --git a/ThirdParty/MuParser/docs/Doxyfile b/cpu/ThirdParty/MuParser/docs/Doxyfile
similarity index 100%
rename from ThirdParty/MuParser/docs/Doxyfile
rename to cpu/ThirdParty/MuParser/docs/Doxyfile
diff --git a/ThirdParty/MuParser/docs/muparser_doc.html b/cpu/ThirdParty/MuParser/docs/muparser_doc.html
similarity index 100%
rename from ThirdParty/MuParser/docs/muparser_doc.html
rename to cpu/ThirdParty/MuParser/docs/muparser_doc.html
diff --git a/ThirdParty/MuParser/include/muParser.h b/cpu/ThirdParty/MuParser/include/muParser.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParser.h
rename to cpu/ThirdParty/MuParser/include/muParser.h
diff --git a/ThirdParty/MuParser/include/muParserBase.h b/cpu/ThirdParty/MuParser/include/muParserBase.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserBase.h
rename to cpu/ThirdParty/MuParser/include/muParserBase.h
diff --git a/ThirdParty/MuParser/include/muParserBytecode.h b/cpu/ThirdParty/MuParser/include/muParserBytecode.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserBytecode.h
rename to cpu/ThirdParty/MuParser/include/muParserBytecode.h
diff --git a/ThirdParty/MuParser/include/muParserCallback.h b/cpu/ThirdParty/MuParser/include/muParserCallback.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserCallback.h
rename to cpu/ThirdParty/MuParser/include/muParserCallback.h
diff --git a/ThirdParty/MuParser/include/muParserDLL.h b/cpu/ThirdParty/MuParser/include/muParserDLL.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserDLL.h
rename to cpu/ThirdParty/MuParser/include/muParserDLL.h
diff --git a/ThirdParty/MuParser/include/muParserDef.h b/cpu/ThirdParty/MuParser/include/muParserDef.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserDef.h
rename to cpu/ThirdParty/MuParser/include/muParserDef.h
diff --git a/ThirdParty/MuParser/include/muParserError.h b/cpu/ThirdParty/MuParser/include/muParserError.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserError.h
rename to cpu/ThirdParty/MuParser/include/muParserError.h
diff --git a/ThirdParty/MuParser/include/muParserFixes.h b/cpu/ThirdParty/MuParser/include/muParserFixes.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserFixes.h
rename to cpu/ThirdParty/MuParser/include/muParserFixes.h
diff --git a/ThirdParty/MuParser/include/muParserInt.h b/cpu/ThirdParty/MuParser/include/muParserInt.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserInt.h
rename to cpu/ThirdParty/MuParser/include/muParserInt.h
diff --git a/ThirdParty/MuParser/include/muParserStack.h b/cpu/ThirdParty/MuParser/include/muParserStack.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserStack.h
rename to cpu/ThirdParty/MuParser/include/muParserStack.h
diff --git a/ThirdParty/MuParser/include/muParserTemplateMagic.h b/cpu/ThirdParty/MuParser/include/muParserTemplateMagic.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserTemplateMagic.h
rename to cpu/ThirdParty/MuParser/include/muParserTemplateMagic.h
diff --git a/ThirdParty/MuParser/include/muParserTest.h b/cpu/ThirdParty/MuParser/include/muParserTest.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserTest.h
rename to cpu/ThirdParty/MuParser/include/muParserTest.h
diff --git a/ThirdParty/MuParser/include/muParserToken.h b/cpu/ThirdParty/MuParser/include/muParserToken.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserToken.h
rename to cpu/ThirdParty/MuParser/include/muParserToken.h
diff --git a/ThirdParty/MuParser/include/muParserTokenReader.h b/cpu/ThirdParty/MuParser/include/muParserTokenReader.h
similarity index 100%
rename from ThirdParty/MuParser/include/muParserTokenReader.h
rename to cpu/ThirdParty/MuParser/include/muParserTokenReader.h
diff --git a/ThirdParty/MuParser/src/muParser.cpp b/cpu/ThirdParty/MuParser/src/muParser.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParser.cpp
rename to cpu/ThirdParty/MuParser/src/muParser.cpp
diff --git a/ThirdParty/MuParser/src/muParserBase.cpp b/cpu/ThirdParty/MuParser/src/muParserBase.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserBase.cpp
rename to cpu/ThirdParty/MuParser/src/muParserBase.cpp
diff --git a/ThirdParty/MuParser/src/muParserBytecode.cpp b/cpu/ThirdParty/MuParser/src/muParserBytecode.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserBytecode.cpp
rename to cpu/ThirdParty/MuParser/src/muParserBytecode.cpp
diff --git a/ThirdParty/MuParser/src/muParserCallback.cpp b/cpu/ThirdParty/MuParser/src/muParserCallback.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserCallback.cpp
rename to cpu/ThirdParty/MuParser/src/muParserCallback.cpp
diff --git a/ThirdParty/MuParser/src/muParserDLL.cpp b/cpu/ThirdParty/MuParser/src/muParserDLL.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserDLL.cpp
rename to cpu/ThirdParty/MuParser/src/muParserDLL.cpp
diff --git a/ThirdParty/MuParser/src/muParserError.cpp b/cpu/ThirdParty/MuParser/src/muParserError.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserError.cpp
rename to cpu/ThirdParty/MuParser/src/muParserError.cpp
diff --git a/ThirdParty/MuParser/src/muParserInt.cpp b/cpu/ThirdParty/MuParser/src/muParserInt.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserInt.cpp
rename to cpu/ThirdParty/MuParser/src/muParserInt.cpp
diff --git a/ThirdParty/MuParser/src/muParserTest.cpp b/cpu/ThirdParty/MuParser/src/muParserTest.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserTest.cpp
rename to cpu/ThirdParty/MuParser/src/muParserTest.cpp
diff --git a/ThirdParty/MuParser/src/muParserTokenReader.cpp b/cpu/ThirdParty/MuParser/src/muParserTokenReader.cpp
similarity index 100%
rename from ThirdParty/MuParser/src/muParserTokenReader.cpp
rename to cpu/ThirdParty/MuParser/src/muParserTokenReader.cpp
diff --git a/VirtualFluidsBasics/IncludsList.cmake b/cpu/VirtualFluidsBasics/IncludsList.cmake
similarity index 100%
rename from VirtualFluidsBasics/IncludsList.cmake
rename to cpu/VirtualFluidsBasics/IncludsList.cmake
diff --git a/VirtualFluidsBasics/VirtualFluidsBasics.cmake b/cpu/VirtualFluidsBasics/VirtualFluidsBasics.cmake
similarity index 100%
rename from VirtualFluidsBasics/VirtualFluidsBasics.cmake
rename to cpu/VirtualFluidsBasics/VirtualFluidsBasics.cmake
diff --git a/VirtualFluidsBasics/basics/container/CMakePackage.txt b/cpu/VirtualFluidsBasics/basics/container/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsBasics/basics/container/CMakePackage.txt
rename to cpu/VirtualFluidsBasics/basics/container/CMakePackage.txt
diff --git a/VirtualFluidsBasics/basics/container/CbArray2D.h b/cpu/VirtualFluidsBasics/basics/container/CbArray2D.h
similarity index 100%
rename from VirtualFluidsBasics/basics/container/CbArray2D.h
rename to cpu/VirtualFluidsBasics/basics/container/CbArray2D.h
diff --git a/VirtualFluidsBasics/basics/container/CbArray3D.h b/cpu/VirtualFluidsBasics/basics/container/CbArray3D.h
similarity index 100%
rename from VirtualFluidsBasics/basics/container/CbArray3D.h
rename to cpu/VirtualFluidsBasics/basics/container/CbArray3D.h
diff --git a/VirtualFluidsBasics/basics/container/CbArray4D.h b/cpu/VirtualFluidsBasics/basics/container/CbArray4D.h
similarity index 100%
rename from VirtualFluidsBasics/basics/container/CbArray4D.h
rename to cpu/VirtualFluidsBasics/basics/container/CbArray4D.h
diff --git a/VirtualFluidsBasics/basics/container/CbVector.h b/cpu/VirtualFluidsBasics/basics/container/CbVector.h
similarity index 100%
rename from VirtualFluidsBasics/basics/container/CbVector.h
rename to cpu/VirtualFluidsBasics/basics/container/CbVector.h
diff --git a/VirtualFluidsBasics/basics/objects/CMakePackage.txt b/cpu/VirtualFluidsBasics/basics/objects/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsBasics/basics/objects/CMakePackage.txt
rename to cpu/VirtualFluidsBasics/basics/objects/CMakePackage.txt
diff --git a/VirtualFluidsBasics/basics/objects/ObObject.h b/cpu/VirtualFluidsBasics/basics/objects/ObObject.h
similarity index 100%
rename from VirtualFluidsBasics/basics/objects/ObObject.h
rename to cpu/VirtualFluidsBasics/basics/objects/ObObject.h
diff --git a/VirtualFluidsBasics/basics/utilities/CMakePackage.txt b/cpu/VirtualFluidsBasics/basics/utilities/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/CMakePackage.txt
rename to cpu/VirtualFluidsBasics/basics/utilities/CMakePackage.txt
diff --git a/VirtualFluidsBasics/basics/utilities/UbComparators.h b/cpu/VirtualFluidsBasics/basics/utilities/UbComparators.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbComparators.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbComparators.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbEqual.h b/cpu/VirtualFluidsBasics/basics/utilities/UbEqual.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbEqual.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbEqual.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbException.h b/cpu/VirtualFluidsBasics/basics/utilities/UbException.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbException.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbException.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbInfinity.h b/cpu/VirtualFluidsBasics/basics/utilities/UbInfinity.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbInfinity.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbInfinity.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbKeys.h b/cpu/VirtualFluidsBasics/basics/utilities/UbKeys.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbKeys.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbKeys.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbLimits.h b/cpu/VirtualFluidsBasics/basics/utilities/UbLimits.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbLimits.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbLimits.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbLogger.cpp b/cpu/VirtualFluidsBasics/basics/utilities/UbLogger.cpp
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbLogger.cpp
rename to cpu/VirtualFluidsBasics/basics/utilities/UbLogger.cpp
diff --git a/VirtualFluidsBasics/basics/utilities/UbLogger.h b/cpu/VirtualFluidsBasics/basics/utilities/UbLogger.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbLogger.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbLogger.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbMath.cpp b/cpu/VirtualFluidsBasics/basics/utilities/UbMath.cpp
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbMath.cpp
rename to cpu/VirtualFluidsBasics/basics/utilities/UbMath.cpp
diff --git a/VirtualFluidsBasics/basics/utilities/UbMath.h b/cpu/VirtualFluidsBasics/basics/utilities/UbMath.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbMath.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbMath.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbObservable.h b/cpu/VirtualFluidsBasics/basics/utilities/UbObservable.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbObservable.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbObservable.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbObserver.h b/cpu/VirtualFluidsBasics/basics/utilities/UbObserver.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbObserver.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbObserver.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbScheduler.h b/cpu/VirtualFluidsBasics/basics/utilities/UbScheduler.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbScheduler.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbScheduler.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbSystem.h b/cpu/VirtualFluidsBasics/basics/utilities/UbSystem.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbSystem.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbSystem.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbTiming.h b/cpu/VirtualFluidsBasics/basics/utilities/UbTiming.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbTiming.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbTiming.h
diff --git a/VirtualFluidsBasics/basics/utilities/UbTuple.h b/cpu/VirtualFluidsBasics/basics/utilities/UbTuple.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/UbTuple.h
rename to cpu/VirtualFluidsBasics/basics/utilities/UbTuple.h
diff --git a/VirtualFluidsBasics/basics/utilities/Vector3D.cpp b/cpu/VirtualFluidsBasics/basics/utilities/Vector3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/Vector3D.cpp
rename to cpu/VirtualFluidsBasics/basics/utilities/Vector3D.cpp
diff --git a/VirtualFluidsBasics/basics/utilities/Vector3D.h b/cpu/VirtualFluidsBasics/basics/utilities/Vector3D.h
similarity index 100%
rename from VirtualFluidsBasics/basics/utilities/Vector3D.h
rename to cpu/VirtualFluidsBasics/basics/utilities/Vector3D.h
diff --git a/VirtualFluidsBasics/basics/writer/CMakePackage.txt b/cpu/VirtualFluidsBasics/basics/writer/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsBasics/basics/writer/CMakePackage.txt
rename to cpu/VirtualFluidsBasics/basics/writer/CMakePackage.txt
diff --git a/VirtualFluidsBasics/basics/writer/WbWriter.h b/cpu/VirtualFluidsBasics/basics/writer/WbWriter.h
similarity index 100%
rename from VirtualFluidsBasics/basics/writer/WbWriter.h
rename to cpu/VirtualFluidsBasics/basics/writer/WbWriter.h
diff --git a/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.cpp b/cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.cpp
similarity index 100%
rename from VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.cpp
rename to cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.cpp
diff --git a/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.h b/cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.h
similarity index 100%
rename from VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.h
rename to cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlASCII.h
diff --git a/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.cpp b/cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.cpp
similarity index 100%
rename from VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.cpp
rename to cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.cpp
diff --git a/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h b/cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h
similarity index 100%
rename from VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h
rename to cpu/VirtualFluidsBasics/basics/writer/WbWriterVtkXmlBinary.h
diff --git a/VirtualFluidsBasics/geometry3d/CMakePackage.txt b/cpu/VirtualFluidsBasics/geometry3d/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/CMakePackage.txt
rename to cpu/VirtualFluidsBasics/geometry3d/CMakePackage.txt
diff --git a/VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.h b/cpu/VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/CoordinateTransformation3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbCuboid3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbCuboid3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbCuboid3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbCuboid3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbCuboid3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbCuboid3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbCuboid3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbCuboid3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbLine3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbLine3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbLine3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbLine3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbLine3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbLine3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbLine3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbLine3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbObject3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbObject3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbObject3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbObject3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbObject3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbObject3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbObject3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbObject3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbPoint3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbPoint3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbPoint3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbPoint3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbPoint3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbPoint3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbPoint3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbPoint3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbPolygon3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbPolygon3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbPolygon3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbPolygon3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbPolygon3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbPolygon3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbPolygon3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbPolygon3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbSystem3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbSystem3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbSystem3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbSystem3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbSystem3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbSystem3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbSystem3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbSystem3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbTriangle3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbTriangle3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbTriangle3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbTriangle3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbTriangle3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbTriangle3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbTriangle3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbTriangle3D.h
diff --git a/VirtualFluidsBasics/geometry3d/GbVector3D.cpp b/cpu/VirtualFluidsBasics/geometry3d/GbVector3D.cpp
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbVector3D.cpp
rename to cpu/VirtualFluidsBasics/geometry3d/GbVector3D.cpp
diff --git a/VirtualFluidsBasics/geometry3d/GbVector3D.h b/cpu/VirtualFluidsBasics/geometry3d/GbVector3D.h
similarity index 100%
rename from VirtualFluidsBasics/geometry3d/GbVector3D.h
rename to cpu/VirtualFluidsBasics/geometry3d/GbVector3D.h
diff --git a/VirtualFluidsCore/BoundaryConditions/BCAdapter.h b/cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCAdapter.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCAdapter.h
diff --git a/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h b/cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCAlgorithm.h
diff --git a/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/BCArray3D.h b/cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCArray3D.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCArray3D.h
diff --git a/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCFunction.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/BCFunction.h b/cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCFunction.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCFunction.h
diff --git a/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/BCProcessor.h b/cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BCProcessor.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/BCProcessor.h
diff --git a/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BoundaryConditions.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h b/cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/BoundaryConditions.h
diff --git a/VirtualFluidsCore/BoundaryConditions/CMakePackage.txt b/cpu/VirtualFluidsCore/BoundaryConditions/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/CMakePackage.txt
rename to cpu/VirtualFluidsCore/BoundaryConditions/CMakePackage.txt
diff --git a/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h b/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAdapter.h
diff --git a/VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.h b/cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/NoSlipBCAlgorithm.h
diff --git a/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h b/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAdapter.h
diff --git a/VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.cpp b/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.cpp
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.cpp
rename to cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.cpp
diff --git a/VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.h b/cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.h
similarity index 100%
rename from VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.h
rename to cpu/VirtualFluidsCore/BoundaryConditions/VelocityBCAlgorithm.h
diff --git a/VirtualFluidsCore/CMakeLists.txt b/cpu/VirtualFluidsCore/CMakeLists.txt
similarity index 100%
rename from VirtualFluidsCore/CMakeLists.txt
rename to cpu/VirtualFluidsCore/CMakeLists.txt
diff --git a/VirtualFluidsCore/CoProcessors/CMakePackage.txt b/cpu/VirtualFluidsCore/CoProcessors/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/CMakePackage.txt
rename to cpu/VirtualFluidsCore/CoProcessors/CMakePackage.txt
diff --git a/VirtualFluidsCore/CoProcessors/CoProcessor.cpp b/cpu/VirtualFluidsCore/CoProcessors/CoProcessor.cpp
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/CoProcessor.cpp
rename to cpu/VirtualFluidsCore/CoProcessors/CoProcessor.cpp
diff --git a/VirtualFluidsCore/CoProcessors/CoProcessor.h b/cpu/VirtualFluidsCore/CoProcessors/CoProcessor.h
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/CoProcessor.h
rename to cpu/VirtualFluidsCore/CoProcessors/CoProcessor.h
diff --git a/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp b/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp
rename to cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.cpp
diff --git a/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h b/cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h
rename to cpu/VirtualFluidsCore/CoProcessors/NUPSCounterCoProcessor.h
diff --git a/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp b/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp
rename to cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.cpp
diff --git a/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h b/cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h
rename to cpu/VirtualFluidsCore/CoProcessors/WriteBlocksCoProcessor.h
diff --git a/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp b/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp
rename to cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.cpp
diff --git a/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h b/cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h
rename to cpu/VirtualFluidsCore/CoProcessors/WriteBoundaryConditionsCoProcessor.h
diff --git a/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp b/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp
rename to cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.cpp
diff --git a/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h b/cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h
similarity index 100%
rename from VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h
rename to cpu/VirtualFluidsCore/CoProcessors/WriteMacroscopicQuantitiesCoProcessor.h
diff --git a/VirtualFluidsCore/Connectors/Block3DConnector.h b/cpu/VirtualFluidsCore/Connectors/Block3DConnector.h
similarity index 100%
rename from VirtualFluidsCore/Connectors/Block3DConnector.h
rename to cpu/VirtualFluidsCore/Connectors/Block3DConnector.h
diff --git a/VirtualFluidsCore/Connectors/CMakePackage.txt b/cpu/VirtualFluidsCore/Connectors/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Connectors/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Connectors/CMakePackage.txt
diff --git a/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.cpp b/cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.cpp
similarity index 100%
rename from VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.cpp
rename to cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.cpp
diff --git a/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h b/cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h
similarity index 100%
rename from VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h
rename to cpu/VirtualFluidsCore/Connectors/D3Q27ETFullDirectConnector.h
diff --git a/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h b/cpu/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h
similarity index 100%
rename from VirtualFluidsCore/Connectors/LocalBlock3DConnector.h
rename to cpu/VirtualFluidsCore/Connectors/LocalBlock3DConnector.h
diff --git a/VirtualFluidsCore/Data/CMakePackage.txt b/cpu/VirtualFluidsCore/Data/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Data/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Data/CMakePackage.txt
diff --git a/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp b/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp
similarity index 100%
rename from VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp
rename to cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.cpp
diff --git a/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h b/cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h
similarity index 100%
rename from VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h
rename to cpu/VirtualFluidsCore/Data/D3Q27EsoTwist3DSplittedVector.h
diff --git a/VirtualFluidsCore/Data/DataSet3D.h b/cpu/VirtualFluidsCore/Data/DataSet3D.h
similarity index 100%
rename from VirtualFluidsCore/Data/DataSet3D.h
rename to cpu/VirtualFluidsCore/Data/DataSet3D.h
diff --git a/VirtualFluidsCore/Data/DistributionArray3D.h b/cpu/VirtualFluidsCore/Data/DistributionArray3D.h
similarity index 100%
rename from VirtualFluidsCore/Data/DistributionArray3D.h
rename to cpu/VirtualFluidsCore/Data/DistributionArray3D.h
diff --git a/VirtualFluidsCore/Data/EsoTwist3D.h b/cpu/VirtualFluidsCore/Data/EsoTwist3D.h
similarity index 100%
rename from VirtualFluidsCore/Data/EsoTwist3D.h
rename to cpu/VirtualFluidsCore/Data/EsoTwist3D.h
diff --git a/VirtualFluidsCore/Data/EsoTwistD3Q27System.cpp b/cpu/VirtualFluidsCore/Data/EsoTwistD3Q27System.cpp
similarity index 100%
rename from VirtualFluidsCore/Data/EsoTwistD3Q27System.cpp
rename to cpu/VirtualFluidsCore/Data/EsoTwistD3Q27System.cpp
diff --git a/VirtualFluidsCore/Data/EsoTwistD3Q27System.h b/cpu/VirtualFluidsCore/Data/EsoTwistD3Q27System.h
similarity index 100%
rename from VirtualFluidsCore/Data/EsoTwistD3Q27System.h
rename to cpu/VirtualFluidsCore/Data/EsoTwistD3Q27System.h
diff --git a/VirtualFluidsCore/Grid/BasicCalculator.cpp b/cpu/VirtualFluidsCore/Grid/BasicCalculator.cpp
similarity index 100%
rename from VirtualFluidsCore/Grid/BasicCalculator.cpp
rename to cpu/VirtualFluidsCore/Grid/BasicCalculator.cpp
diff --git a/VirtualFluidsCore/Grid/BasicCalculator.h b/cpu/VirtualFluidsCore/Grid/BasicCalculator.h
similarity index 100%
rename from VirtualFluidsCore/Grid/BasicCalculator.h
rename to cpu/VirtualFluidsCore/Grid/BasicCalculator.h
diff --git a/VirtualFluidsCore/Grid/Block3D.cpp b/cpu/VirtualFluidsCore/Grid/Block3D.cpp
similarity index 100%
rename from VirtualFluidsCore/Grid/Block3D.cpp
rename to cpu/VirtualFluidsCore/Grid/Block3D.cpp
diff --git a/VirtualFluidsCore/Grid/Block3D.h b/cpu/VirtualFluidsCore/Grid/Block3D.h
similarity index 100%
rename from VirtualFluidsCore/Grid/Block3D.h
rename to cpu/VirtualFluidsCore/Grid/Block3D.h
diff --git a/VirtualFluidsCore/Grid/CMakePackage.txt b/cpu/VirtualFluidsCore/Grid/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Grid/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Grid/CMakePackage.txt
diff --git a/VirtualFluidsCore/Grid/Calculator.cpp b/cpu/VirtualFluidsCore/Grid/Calculator.cpp
similarity index 100%
rename from VirtualFluidsCore/Grid/Calculator.cpp
rename to cpu/VirtualFluidsCore/Grid/Calculator.cpp
diff --git a/VirtualFluidsCore/Grid/Calculator.h b/cpu/VirtualFluidsCore/Grid/Calculator.h
similarity index 100%
rename from VirtualFluidsCore/Grid/Calculator.h
rename to cpu/VirtualFluidsCore/Grid/Calculator.h
diff --git a/VirtualFluidsCore/Grid/Grid3D.cpp b/cpu/VirtualFluidsCore/Grid/Grid3D.cpp
similarity index 100%
rename from VirtualFluidsCore/Grid/Grid3D.cpp
rename to cpu/VirtualFluidsCore/Grid/Grid3D.cpp
diff --git a/VirtualFluidsCore/Grid/Grid3D.h b/cpu/VirtualFluidsCore/Grid/Grid3D.h
similarity index 100%
rename from VirtualFluidsCore/Grid/Grid3D.h
rename to cpu/VirtualFluidsCore/Grid/Grid3D.h
diff --git a/VirtualFluidsCore/Grid/Grid3DSystem.cpp b/cpu/VirtualFluidsCore/Grid/Grid3DSystem.cpp
similarity index 100%
rename from VirtualFluidsCore/Grid/Grid3DSystem.cpp
rename to cpu/VirtualFluidsCore/Grid/Grid3DSystem.cpp
diff --git a/VirtualFluidsCore/Grid/Grid3DSystem.h b/cpu/VirtualFluidsCore/Grid/Grid3DSystem.h
similarity index 100%
rename from VirtualFluidsCore/Grid/Grid3DSystem.h
rename to cpu/VirtualFluidsCore/Grid/Grid3DSystem.h
diff --git a/VirtualFluidsCore/IncludsList.cmake b/cpu/VirtualFluidsCore/IncludsList.cmake
similarity index 100%
rename from VirtualFluidsCore/IncludsList.cmake
rename to cpu/VirtualFluidsCore/IncludsList.cmake
diff --git a/VirtualFluidsCore/Interactors/CMakePackage.txt b/cpu/VirtualFluidsCore/Interactors/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Interactors/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Interactors/CMakePackage.txt
diff --git a/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp b/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp
similarity index 100%
rename from VirtualFluidsCore/Interactors/D3Q27Interactor.cpp
rename to cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.cpp
diff --git a/VirtualFluidsCore/Interactors/D3Q27Interactor.h b/cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.h
similarity index 100%
rename from VirtualFluidsCore/Interactors/D3Q27Interactor.h
rename to cpu/VirtualFluidsCore/Interactors/D3Q27Interactor.h
diff --git a/VirtualFluidsCore/Interactors/Interactor3D.cpp b/cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp
similarity index 100%
rename from VirtualFluidsCore/Interactors/Interactor3D.cpp
rename to cpu/VirtualFluidsCore/Interactors/Interactor3D.cpp
diff --git a/VirtualFluidsCore/Interactors/Interactor3D.h b/cpu/VirtualFluidsCore/Interactors/Interactor3D.h
similarity index 100%
rename from VirtualFluidsCore/Interactors/Interactor3D.h
rename to cpu/VirtualFluidsCore/Interactors/Interactor3D.h
diff --git a/VirtualFluidsCore/Interactors/InteractorsHelper.cpp b/cpu/VirtualFluidsCore/Interactors/InteractorsHelper.cpp
similarity index 100%
rename from VirtualFluidsCore/Interactors/InteractorsHelper.cpp
rename to cpu/VirtualFluidsCore/Interactors/InteractorsHelper.cpp
diff --git a/VirtualFluidsCore/Interactors/InteractorsHelper.h b/cpu/VirtualFluidsCore/Interactors/InteractorsHelper.h
similarity index 100%
rename from VirtualFluidsCore/Interactors/InteractorsHelper.h
rename to cpu/VirtualFluidsCore/Interactors/InteractorsHelper.h
diff --git a/VirtualFluidsCore/LBM/CMakePackage.txt b/cpu/VirtualFluidsCore/LBM/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/LBM/CMakePackage.txt
rename to cpu/VirtualFluidsCore/LBM/CMakePackage.txt
diff --git a/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp b/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp
similarity index 100%
rename from VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp
rename to cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.cpp
diff --git a/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h b/cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h
similarity index 100%
rename from VirtualFluidsCore/LBM/CumulantK17LBMKernel.h
rename to cpu/VirtualFluidsCore/LBM/CumulantK17LBMKernel.h
diff --git a/VirtualFluidsCore/LBM/D3Q27System.cpp b/cpu/VirtualFluidsCore/LBM/D3Q27System.cpp
similarity index 100%
rename from VirtualFluidsCore/LBM/D3Q27System.cpp
rename to cpu/VirtualFluidsCore/LBM/D3Q27System.cpp
diff --git a/VirtualFluidsCore/LBM/D3Q27System.h b/cpu/VirtualFluidsCore/LBM/D3Q27System.h
similarity index 100%
rename from VirtualFluidsCore/LBM/D3Q27System.h
rename to cpu/VirtualFluidsCore/LBM/D3Q27System.h
diff --git a/VirtualFluidsCore/LBM/ILBMKernel.h b/cpu/VirtualFluidsCore/LBM/ILBMKernel.h
similarity index 100%
rename from VirtualFluidsCore/LBM/ILBMKernel.h
rename to cpu/VirtualFluidsCore/LBM/ILBMKernel.h
diff --git a/VirtualFluidsCore/LBM/LBMKernel.cpp b/cpu/VirtualFluidsCore/LBM/LBMKernel.cpp
similarity index 100%
rename from VirtualFluidsCore/LBM/LBMKernel.cpp
rename to cpu/VirtualFluidsCore/LBM/LBMKernel.cpp
diff --git a/VirtualFluidsCore/LBM/LBMKernel.h b/cpu/VirtualFluidsCore/LBM/LBMKernel.h
similarity index 100%
rename from VirtualFluidsCore/LBM/LBMKernel.h
rename to cpu/VirtualFluidsCore/LBM/LBMKernel.h
diff --git a/VirtualFluidsCore/LBM/LBMSystem.cpp b/cpu/VirtualFluidsCore/LBM/LBMSystem.cpp
similarity index 100%
rename from VirtualFluidsCore/LBM/LBMSystem.cpp
rename to cpu/VirtualFluidsCore/LBM/LBMSystem.cpp
diff --git a/VirtualFluidsCore/LBM/LBMSystem.h b/cpu/VirtualFluidsCore/LBM/LBMSystem.h
similarity index 100%
rename from VirtualFluidsCore/LBM/LBMSystem.h
rename to cpu/VirtualFluidsCore/LBM/LBMSystem.h
diff --git a/VirtualFluidsCore/LBM/LBMUnitConverter.h b/cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h
similarity index 100%
rename from VirtualFluidsCore/LBM/LBMUnitConverter.h
rename to cpu/VirtualFluidsCore/LBM/LBMUnitConverter.h
diff --git a/VirtualFluidsCore/Parallel/CMakePackage.txt b/cpu/VirtualFluidsCore/Parallel/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Parallel/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Parallel/CMakePackage.txt
diff --git a/VirtualFluidsCore/Parallel/Communicator.cpp b/cpu/VirtualFluidsCore/Parallel/Communicator.cpp
similarity index 100%
rename from VirtualFluidsCore/Parallel/Communicator.cpp
rename to cpu/VirtualFluidsCore/Parallel/Communicator.cpp
diff --git a/VirtualFluidsCore/Parallel/Communicator.h b/cpu/VirtualFluidsCore/Parallel/Communicator.h
similarity index 100%
rename from VirtualFluidsCore/Parallel/Communicator.h
rename to cpu/VirtualFluidsCore/Parallel/Communicator.h
diff --git a/VirtualFluidsCore/Parallel/NullCommunicator.cpp b/cpu/VirtualFluidsCore/Parallel/NullCommunicator.cpp
similarity index 100%
rename from VirtualFluidsCore/Parallel/NullCommunicator.cpp
rename to cpu/VirtualFluidsCore/Parallel/NullCommunicator.cpp
diff --git a/VirtualFluidsCore/Parallel/NullCommunicator.h b/cpu/VirtualFluidsCore/Parallel/NullCommunicator.h
similarity index 100%
rename from VirtualFluidsCore/Parallel/NullCommunicator.h
rename to cpu/VirtualFluidsCore/Parallel/NullCommunicator.h
diff --git a/VirtualFluidsCore/PointerDefinitions.h b/cpu/VirtualFluidsCore/PointerDefinitions.h
similarity index 100%
rename from VirtualFluidsCore/PointerDefinitions.h
rename to cpu/VirtualFluidsCore/PointerDefinitions.h
diff --git a/VirtualFluidsCore/Utilities/CMakePackage.txt b/cpu/VirtualFluidsCore/Utilities/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Utilities/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Utilities/CMakePackage.txt
diff --git a/VirtualFluidsCore/Utilities/MemoryUtil.h b/cpu/VirtualFluidsCore/Utilities/MemoryUtil.h
similarity index 100%
rename from VirtualFluidsCore/Utilities/MemoryUtil.h
rename to cpu/VirtualFluidsCore/Utilities/MemoryUtil.h
diff --git a/VirtualFluidsCore/Visitors/Block3DVisitor.h b/cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/Block3DVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/Block3DVisitor.h
diff --git a/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h b/cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/BoundaryConditionsBlockVisitor.h
diff --git a/VirtualFluidsCore/Visitors/CMakePackage.txt b/cpu/VirtualFluidsCore/Visitors/CMakePackage.txt
similarity index 100%
rename from VirtualFluidsCore/Visitors/CMakePackage.txt
rename to cpu/VirtualFluidsCore/Visitors/CMakePackage.txt
diff --git a/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/GenBlocksGridVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h b/cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/GenBlocksGridVisitor.h
diff --git a/VirtualFluidsCore/Visitors/Grid3DVisitor.h b/cpu/VirtualFluidsCore/Visitors/Grid3DVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/Grid3DVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/Grid3DVisitor.h
diff --git a/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h b/cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/InitDistributionsBlockVisitor.h
diff --git a/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h b/cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/SetBcBlocksBlockVisitor.h
diff --git a/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h b/cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/SetConnectorsBlockVisitor.h
diff --git a/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h b/cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/SetKernelBlockVisitor.h
diff --git a/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp b/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp
rename to cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.cpp
diff --git a/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h b/cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h
similarity index 100%
rename from VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h
rename to cpu/VirtualFluidsCore/Visitors/SetSolidBlocksBlockVisitor.h
diff --git a/readme.md b/cpu/readme.md
similarity index 100%
rename from readme.md
rename to cpu/readme.md