diff --git a/CMakeLists.txt b/CMakeLists.txt index 5a748b16..630f12ed 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -219,19 +219,22 @@ if(CPPUDDLE_WITH_BUFFER_RECYCLING) else() message(WARNING " Slow Build: Buffer recycling is deactivated. This should only be used for performance tests!") target_compile_definitions(buffer_manager INTERFACE "CPPUDDLE_DEACTIVATE_BUFFER_RECYCLING") + target_compile_definitions(stream_manager INTERFACE "CPPUDDLE_DEACTIVATE_BUFFER_RECYCLING") endif() if(CPPUDDLE_WITH_AGGRESSIVE_CONTENT_RECYCLING) message(INFO " Using default behaviour for aggressive content reusage (only relevant for aggressive allocators)!") else() - target_compile_definitions(buffer_manager INTERFACE "CPPUDDLE_DEACTIVATE_AGGRESSIVE_ALLOCATORS") message(WARNING " Slow Build: Aggressive allocators (and thus content recycling) is disabled. This should only be used for performance tests!") + target_compile_definitions(buffer_manager INTERFACE "CPPUDDLE_DEACTIVATE_AGGRESSIVE_ALLOCATORS") + target_compile_definitions(stream_manager INTERFACE "CPPUDDLE_DEACTIVATE_AGGRESSIVE_ALLOCATORS") endif() if(CPPUDDLE_WITH_EXECUTOR_RECYCLING) message(INFO " Using default executor recycling behaviour!") else() message(WARNING " Slow Build: executor recycling is deactivated. This should only be used for performance tests!") + target_compile_definitions(buffer_manager INTERFACE "CPPUDDLE_DEACTIVATE_EXECUTOR_RECYCLING") target_compile_definitions(stream_manager INTERFACE "CPPUDDLE_DEACTIVATE_EXECUTOR_RECYCLING") endif() diff --git a/include/stream_manager.hpp b/include/stream_manager.hpp index c1043c9a..e9ae375c 100644 --- a/include/stream_manager.hpp +++ b/include/stream_manager.hpp @@ -18,7 +18,15 @@ #include #include "../include/detail/config.hpp" + +// Need to cuda/hip definitions for default params when NOT +// drawing from an executor pool +#if defined(CPPUDDLE_DEACTIVATE_EXECUTOR_RECYCLING) +#include +#if defined(HPX_HAVE_CUDA) || defined(HPX_HAVE_HIP) #include +#endif +#endif // Redefintion required for non-recycling executors // Without it, default constructing the executors (independent) would not work