diff --git a/knp/backends/cpu/cpu-library/include/knp/backends/cpu-library/impl/blifat_population_impl.h b/knp/backends/cpu/cpu-library/include/knp/backends/cpu-library/impl/blifat_population_impl.h index 07dcf328..0fba164c 100644 --- a/knp/backends/cpu/cpu-library/include/knp/backends/cpu-library/impl/blifat_population_impl.h +++ b/knp/backends/cpu/cpu-library/include/knp/backends/cpu-library/impl/blifat_population_impl.h @@ -375,7 +375,7 @@ std::optional calculate_blifat_like_population_im * @return indexes of spiked neurons. */ template -std::optional calculate_blifat_like_population_impl( +std::optional calculate_blifat_like_population_impl( knp::core::Population &population, knp::core::MessageEndpoint &endpoint, size_t step_n, std::mutex &mutex) { diff --git a/knp/backends/cpu/cpu-multi-threaded-backend/impl/backend.cpp b/knp/backends/cpu/cpu-multi-threaded-backend/impl/backend.cpp index e52322ac..abd4e5f1 100644 --- a/knp/backends/cpu/cpu-multi-threaded-backend/impl/backend.cpp +++ b/knp/backends/cpu/cpu-multi-threaded-backend/impl/backend.cpp @@ -41,6 +41,8 @@ #include +#include "template_specs.h" + namespace knp::backends::multi_threaded_cpu { diff --git a/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.cpp b/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.cpp index 2b8e4e87..de731065 100644 --- a/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.cpp +++ b/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.cpp @@ -18,10 +18,14 @@ * See the License for the specific language governing permissions and * limitations under the License. */ +#include "template_specs.h" + #include #include #include +#include + namespace knp::backends::cpu { diff --git a/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.h b/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.h new file mode 100644 index 00000000..65eba2db --- /dev/null +++ b/knp/backends/cpu/cpu-multi-threaded-backend/impl/template_specs.h @@ -0,0 +1,39 @@ +/** + * @file template_specs.h + * @brief Header for multi-threaded CPU backend-specific template specializations. + * @kaspersky_support Vartenkov A. + * @date 16.06.2025 + * @license Apache 2.0 + * @copyright © 2025 AO Kaspersky Lab + * + * Licensed under the Apache License, Version 2.0 (the "License"); + * you may not use this file except in compliance with the License. + * You may obtain a copy of the License at + * + * http://www.apache.org/licenses/LICENSE-2.0 + * + * Unless required by applicable law or agreed to in writing, software + * distributed under the License is distributed on an "AS IS" BASIS, + * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + * See the License for the specific language governing permissions and + * limitations under the License. + */ + +#pragma once + +#include +#include + +/** + * @brief Namespace for CPU backends. + */ +namespace knp::backends::cpu +{ +template <> +void finalize_population< + knp::neuron_traits::SynapticResourceSTDPBLIFATNeuron, + multi_threaded_cpu::MultiThreadedCPUBackend::ProjectionContainer>( + knp::core::Population &population, + const knp::core::messaging::SpikeMessage &message, + multi_threaded_cpu::MultiThreadedCPUBackend::ProjectionContainer &projections, knp::core::Step step); +} // namespace knp::backends::cpu