NUMAHWPolicy: Added

This commit is contained in:
2023-07-28 11:07:15 +02:00
parent 669b2d9358
commit 9d978a41f7
15 changed files with 246 additions and 58 deletions
+9 -7
View File
@@ -12,7 +12,8 @@ JFJochProtoBuf::ReceiverOutput RunJFJochReceiverTest(std::vector<AcquisitionDevi
const DiffractionExperiment &x,
Logger &logger, JFCalibration &calib,
uint16_t nthreads, bool abort,
ZMQPreviewPublisher *in_preview_writer) {
ZMQPreviewPublisher *in_preview_writer,
const std::string &numa_policy) {
JFJochProtoBuf::ReceiverInput receiver_input;
*receiver_input.mutable_jungfraujoch_settings() = x;
*receiver_input.mutable_calibration() = calib;
@@ -21,8 +22,7 @@ JFJochProtoBuf::ReceiverOutput RunJFJochReceiverTest(std::vector<AcquisitionDevi
context.NumThreads(4);
JFJochReceiverService service(aq_devices, logger, pusher);
service.PreviewPublisher(in_preview_writer);
service.NumThreads(nthreads);
service.PreviewPublisher(in_preview_writer).NumThreads(nthreads).NUMAPolicy(numa_policy);
JFJochProtoBuf::DataProcessingSettings settings;
settings.set_signal_to_noise_threshold(2.5);
@@ -52,13 +52,14 @@ JFJochProtoBuf::ReceiverOutput RunJFJochReceiverTest(std::vector<AcquisitionDevi
bool JFJochReceiverTest(JFJochProtoBuf::ReceiverOutput &output, Logger &logger,
std::vector<std::unique_ptr<AcquisitionDevice>> &aq_devices, const DiffractionExperiment &x,
uint16_t nthreads, bool abort,
bool verbose, ZMQPreviewPublisher *in_preview_writer) {
bool verbose, ZMQPreviewPublisher *in_preview_writer,
const std::string &numa_policy) {
std::vector<AcquisitionDevice *> tmp_aq_devices;
for (const auto &i: aq_devices)
tmp_aq_devices.emplace_back(i.get());
return JFJochReceiverTest(output, logger, tmp_aq_devices, x, nthreads,
abort, verbose, in_preview_writer);
abort, verbose, in_preview_writer, numa_policy);
}
static JFCalibration GeneratePedestalCalibration(const DiffractionExperiment &x) {
@@ -86,7 +87,8 @@ static JFCalibration GeneratePedestalCalibration(const DiffractionExperiment &x)
bool JFJochReceiverTest(JFJochProtoBuf::ReceiverOutput &output, Logger &logger,
std::vector<AcquisitionDevice *> &aq_devices, const DiffractionExperiment &x,
uint16_t nthreads, bool abort,
bool verbose, ZMQPreviewPublisher *in_preview_writer) {
bool verbose, ZMQPreviewPublisher *in_preview_writer,
const std::string &numa_policy) {
std::vector<uint16_t> raw_expected_image(RAW_MODULE_SIZE * x.GetModulesNum());
for (int i = 0; i < x.GetDataStreamsNum(); i++) {
@@ -112,7 +114,7 @@ bool JFJochReceiverTest(JFJochProtoBuf::ReceiverOutput &output, Logger &logger,
TestImagePusher pusher(image_number);
output = RunJFJochReceiverTest(aq_devices, pusher, x, logger, calib, nthreads, abort,
in_preview_writer);
in_preview_writer, numa_policy);
bool no_errors = true;