diff --git a/CMakeLists.txt b/CMakeLists.txt
index 0a8f664724c41b8f8390a63befdae0dee22d5610..e77dd35e6cf170faedefd00c3d56db33c95b6ff9 100644
--- a/CMakeLists.txt
+++ b/CMakeLists.txt
@@ -12,6 +12,8 @@ set(SE_CLASS1 CACHE BOOL "Activate compilation with SE_CLASS1")
 set(SE_CLASS2 CACHE BOOL "Activate compilation with SE_CLASS2")
 set(SE_CLASS3 CACHE BOOL "Activate compilation with SE_CLASS3")
 set(PETSC_ROOT CACHE PATH "If compiling with linear algebra indicate the PETSC root directory")
+set(ALPAKA_ROOT CACHE PATH "Alpaka root path")
+set(CUDA_ON_CPU CACHE BOOL "Make Cuda work on heap")
 
 set(ENV{PETSC_DIR} ${PETSC_ROOT})
 
@@ -40,7 +42,7 @@ elseif ( CUDA_VERSION_MAJOR EQUAL 11 AND CUDA_VERSION_MINOR EQUAL 0 )
 
 endif()
 
-find_package(Boost 1.66.0 REQUIRED COMPONENTS unit_test_framework iostreams program_options)
+find_package(Boost 1.66.0 REQUIRED COMPONENTS unit_test_framework iostreams program_options fiber)
 find_package(MPI REQUIRED)
 find_package(PETSc)
 
diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt
index 6de325cc188916f5fdedcd693419fb34ab5b6b3a..05e692508a90bff71485fb49f2c716f37cfc55ed 100644
--- a/src/CMakeLists.txt
+++ b/src/CMakeLists.txt
@@ -2,11 +2,17 @@ cmake_minimum_required(VERSION 3.8 FATAL_ERROR)
 
 ########################### Executables
 
+if (CUDA_ON_CPU)
+	add_definitions(-DCUDA_ON_CPU)
+endif()
+
 if (CUDA_FOUND)
 	set(CUDA_SOURCES ../../openfpm_devices/src/memory/CudaMemory.cu VCluster/cuda/VCluster_semantic_unit_cuda_tests.cu VCluster/cuda/VCluster_unit_tests.cu )
 endif()
 
-add_executable(vcluster_test main.cpp VCluster/VCluster.cpp  ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp VCluster/VCluster_unit_tests.cpp VCluster/VCluster_semantic_unit_tests.cpp ${CUDA_SOURCES})
+
+
+add_executable(vcluster_test main.cpp VCluster/VCluster.cpp ../../openfpm_devices/src/util/cudify_vars.cpp  ../../openfpm_devices/src/memory/HeapMemory.cpp ../../openfpm_devices/src/memory/PtrMemory.cpp VCluster/VCluster_unit_tests.cpp VCluster/VCluster_semantic_unit_tests.cpp ${CUDA_SOURCES})
 
 if ( CMAKE_COMPILER_IS_GNUCC )
     target_compile_options(vcluster_test PRIVATE "-Wno-deprecated-declarations")
@@ -36,6 +42,7 @@ target_include_directories (vcluster_test PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../
 target_include_directories (vcluster_test PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config)
 target_include_directories (vcluster_test PUBLIC ${Boost_INCLUDE_DIRS})
 target_include_directories (vcluster_test PUBLIC ${PETSC_INCLUDES})
+target_include_directories (vcluster_test PUBLIC ${ALPAKA_ROOT}/include)
 
 target_include_directories (vcluster PUBLIC ${CUDA_INCLUDE_DIRS})
 target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
@@ -44,6 +51,7 @@ target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/config)
 target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_data/src/)
 target_include_directories (vcluster PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/)
 target_include_directories (vcluster PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (vcluster PUBLIC ${ALPAKA_ROOT}/include)
 
 target_include_directories (vcluster_dl PUBLIC ${CUDA_INCLUDE_DIRS})
 target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR})
@@ -52,6 +60,7 @@ target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/confi
 target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_data/src/)
 target_include_directories (vcluster_dl PUBLIC ${CMAKE_CURRENT_SOURCE_DIR}/../../openfpm_devices/src/)
 target_include_directories (vcluster_dl PUBLIC ${Boost_INCLUDE_DIRS})
+target_include_directories (vcluster_dl PUBLIC ${ALPAKA_ROOT}/include)
 
 target_link_libraries(vcluster_test ${Boost_LIBRARIES})
 target_link_libraries(vcluster_test ${PETSC_LIBRARIES})