Peter Heywood

Results 157 comments of Peter Heywood

During the CINECA hackathon, we found that generally a block size of 128 offered the best performance for spatial message iteration kernels (when this also achieved the maximised occupancy). There...

Renaming `flame_functions_api.h` to `flame_functions_api.cuh` would let cmake correctly handle it as a cuda file and use `nvcc` rather than a host c compiler, with appropriate flags to actually find `cuda_runtime.h`

Given that we require cmake 3.12, we can use fetchContent to isntall google test in place of the macro: ``` include(FetchContent) FetchContent_Declare( googletest GIT_REPOSITORY https://github.com/google/googletest.git GIT_TAG release-1.8.0 ) FetchContent_GetProperties(googletest) if(NOT...

> The macro is literally from the gtest readme. I'm simply highlighting a more modern cmakey way of doing things that I stumbled upon while investigating ctest.

It's also possible to just add our test executable to ctest via: ``` add_test( NAME ${PROJECT_NAME} COMMAND "${PROJECT_NAME}" WORKING_DIRECTORY ${PROJECT_DIR} PROPERTIES VS_DEBUGGER_WORKING_DIRECTORY "${PROJECT_DIR}" ) ``` which is executed as a...

Rough plan after discussion with Rob: + [x] Enable ctest + [x] Add the unit tests as a single, monolithic target with `add_test` - don't use `gtest_discover_tests` + [ ]...

CTest on windows from the command line requires the configuration to be specified, i.e. ``` ctest . -c Release ``` From within Visual Studio 2019 ``` Test > Run All...

Adding ctest would also allow us to test that our `static_asserts` are correctly firing in cases we are blocking, such as the prevention of non-real templated type `T` for: ```cpp...

See the `cineca_concurrency` branch for some steps towards this, focussed on fixing the regression introduce by automatic IDs so far.

It might be useful to add a simulation / ensemble config flag/argument to control the output of population / step times / other simulation meta-data as csv/json. I.e. `simulatein.exe --output-metadata...