From 0e28c9a077d95a5129ac392676b92ac66074b390 Mon Sep 17 00:00:00 2001 From: Peter Heywood Date: Thu, 4 Jan 2024 12:38:21 +0000 Subject: [PATCH] Update changelog to 2024-01-04 some markdown linitng some tweaks adds rtc perf as a known issue to the readme --- CHANGELOG.md | 27 +++++++++++++++++---------- README.md | 3 ++- 2 files changed, 19 insertions(+), 11 deletions(-) diff --git a/CHANGELOG.md b/CHANGELOG.md index e19d7f503..d1c024b67 100644 --- a/CHANGELOG.md +++ b/CHANGELOG.md @@ -24,37 +24,41 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 ## [2.0.0-rc1] - 2023-02-01 (TODO update date) ### Added + + Support for CUDA 12.0-12.3. ([#1015](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1015), [#1056](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1056), [#1097](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1097), [#1130](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1130)) + + CUDA 12.2+ currently suffers from poor RTC compilation times due to changes in the CUDA headers ([#1118](https://github.com/FLAMEGPU/FLAMEGPU2/issues/1118)). This will be fixed in a future release. + Support for Python 3.12. ([#1117](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1117)) + Visualiser: Add support for orthographic projection. ([FLAMEGPU/FLAMEGPU2-visualiser#114](https://github.com/FLAMEGPU/FLAMEGPU2-visualiser/pull/114), [FLAMEGPU/FLAMEGPU2-visualiser#121](https://github.com/FLAMEGPU/FLAMEGPU2-visualiser/pull/121) [#1040](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1040)) + Visualiser: Agents can be hidden according to their state. ([#1041](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1041)) + Declare/define Agent and Host function shims. ([#1049](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1049)) + Poisson distribution support for random APIs. ([#1060](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1060)) + `HostAPI` returns config structures and ensemble run index. ([#1082](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1082)) -+ post-release CI now updates wheelhouse. ([#645](https://github.com/FLAMEGPU/FLAMEGPU2/issues/645)) ++ `pyflamegpu` installable from custom pip wheelhouse [whl.flamegpu.com](https://whl.flamegpu.com) . ([#645](https://github.com/FLAMEGPU/FLAMEGPU2/issues/645)) + Environment macro properties can now be imported/exported. ([#1087](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1087)) + Readme within `examples/` documenting the available examples. + `DeviceAPI::isAgent()`, `DeviceAPI::isState()`. ([#1116](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1116), [#1139](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1139)) + Agent python codegen will now capture external variables with corresponding attribute. ([#1147](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1147)) + Added `RunPlanVector::setPropertyStep()` ([#1152](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1152)) ++ Added directed grraph support, via `EnvironmentDirectedGraphDescription` which can then be used with `MessageBucket` for on-graph communication. ([#1089](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1089)) ++ Added optional Distributed Ensemble support (MPI). ([#1090](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1090)) ### Changed (Breaking) ++ `CUDAEnsemble::getLogs` returns `std::map` rather than `std::vector`, required for distributed ensemble support. ([#1090](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1090)) + ### Changed + + Improved dependency find logic. ([#1015](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1015)) + Improved telemetry message when configuring CMake. ([#1030](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1030)) + Improved robustness of context creation testing. ([#1096](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1096)) + Improved (experimental) GLM support within python API. ([#1074](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1074)) -+ Various CI changes. ([](), []()) - -### Deprecated - -### Removed ++ Various CI changes. ([#1015](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1015), [#1036](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1036), [#1044](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1044), [#1062](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1062), [#1090](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1090), [#1097](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1097), [#1100](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1100), [#1102](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1102), [#1117](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1117), [#1130](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1130), [#1138](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1138), [#1140](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1140)) ### Fixed + + `FLAMEGPU_ENABLE_GLM` was incorrectly documented in README. ([#1033](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1033)) + ManyLinux wheels did not have BuildNumber set. ([#1036](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1036)) -+ arm/Tegra compilation errors. ([#1039](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1039, [FLAMEGPU/FLAMEGPU2-visualiser#119](https://github.com/FLAMEGPU/FLAMEGPU2-visualiser/pull/119)) ++ arm/Tegra compilation errors. ([#1039](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1039), [FLAMEGPU/FLAMEGPU2-visualiser#119](https://github.com/FLAMEGPU/FLAMEGPU2-visualiser/pull/119)) + `AgentRandom::uniform()` would never return max bound. ([#411](https://github.com/FLAMEGPU/FLAMEGPU2/pull/411)) + `AgentRandom::uniform()` would return range `(0, 1]`. ([#411](https://github.com/FLAMEGPU/FLAMEGPU2/pull/411)) + `AgentRandom::uniform()` would return range `(0, 1]`. ([#411](https://github.com/FLAMEGPU/FLAMEGPU2/pull/411)) @@ -70,10 +74,12 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 + Agent states loaded from file could be ignored. ([#1093](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1093)) + Agent python codegen did not support standalone message variables. ([#1110](https://github.com/FLAMEGPU/FLAMEGPU2/issues/1110), [#1143](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1143)) + Agent python codegen did not support `int`/`float` casts. ([#1143](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1143)) -+ Resolved floating point cast to enum error. ([#1148](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1148) -+ `JitifyCache` is now exposed via the python API. ([#1151]https://github.com/FLAMEGPU/FLAMEGPU2/pull/1151) ++ Resolved floating point cast to enum error. ([#1148](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1148)) ++ `JitifyCache` is now exposed via the python API. ([#1151](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1151)) + Agent python codegen did not support `ID` to `id_t` conversion. ([#1153](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1153)) - ++ Spatial Messaging interaction radius was incorrect when the requested radius was not a factor of the environment width ([#1160](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1160)) ++ `astpretty` no longer a dependency of `pyflamegpu` ([#1166](https://github.com/FLAMEGPU/FLAMEGPU2/pull/1166)) ++ Agent python codegen did not correctly account for variable scope ([#1125](https://github.com/FLAMEGPU/FLAMEGPU2/issues/1125), [#1127](https://github.com/FLAMEGPU/FLAMEGPU2/issues/1127)) ## [2.0.0-rc] - 2022-12-13 @@ -302,6 +308,7 @@ and this project adheres to [Semantic Versioning](https://semver.org/spec/v2.0.0 Initial alpha release of FLAME GPU 2.0.0, a CUDA C++ / python3 library for agent based simulations [Unreleased]: https://github.com/FLAMEGPU/FLAMEGPU2/compare/v2.0.0-rc...HEAD +[2.0.0-rc1]: https://github.com/FLAMEGPU/FLAMEGPU2/releases/tag/v2.0.0-rc1 [2.0.0-rc]: https://github.com/FLAMEGPU/FLAMEGPU2/releases/tag/v2.0.0-rc [2.0.0-alpha.2]: https://github.com/FLAMEGPU/FLAMEGPU2/releases/tag/v2.0.0-alpha.2 [2.0.0-alpha.1]: https://github.com/FLAMEGPU/FLAMEGPU2/releases/tag/v2.0.0-alpha.1 diff --git a/README.md b/README.md index 20f769ec7..81d2b2d23 100644 --- a/README.md +++ b/README.md @@ -369,4 +369,5 @@ For a full list of known issues pleases see the [Issue Tracker](https://github.c + Multiple known areas where performance can be improved (e.g. [#449](https://github.com/FLAMEGPU/FLAMEGPU2/issues/449), [#402](https://github.com/FLAMEGPU/FLAMEGPU2/issues/402)) + Windows/MSVC builds using CUDA 11.0 may encounter errors when performing incremental builds if the static library has been recompiled. If this presents itself, re-save any `.cu` file in your executable producing project and re-trigger the build. + Debug builds under linux with CUDA 11.0 may encounter cuda errors during `validateIDCollisions`. Consider using an alternate CUDA version if this is required ([#569](https://github.com/FLAMEGPU/FLAMEGPU2/issues/569)). -+ CUDA 11.0 with GCC 9 may encounter a segmentation fault during compilation of the test suite. Consider using GCC 8 with CUDA 11.0. \ No newline at end of file ++ CUDA 11.0 with GCC 9 may encounter a segmentation fault during compilation of the test suite. Consider using GCC 8 with CUDA 11.0. ++ CUDA 12.2+ suffers from poor RTC compilation times, to be fixed in a future release. ([#1118](https://github.com/FLAMEGPU/FLAMEGPU2/issues/1118)). This will be fixed in a future release.