Commit Graph

1638 Commits

Author SHA1 Message Date
Christian Tacke
e6bb14f535 ci: Check codemeta.json
Use the eOSSR tooling to validate our codemeta.json file
2023-08-08 16:26:10 +02:00
Christian Tacke
b18d60372c codemeta: Add GSI as "maintainer"
GSI is providing resources for maintaining FairMQ. So let's
document this in codemeta.json.
2023-08-08 16:21:48 +02:00
Giulio Eulisse
7ceccdeaa6 Print actual address we are trying to bind. 2023-06-29 12:28:23 +02:00
Dennis Klein
d1c99f7e15 ci: Update build matrix 2023-06-26 11:56:24 +02:00
Dennis Klein
bfc665d76e feat: Make the channel AutoBind default configurable 2023-06-26 11:56:24 +02:00
Dennis Klein
42d27af20f docs: Update install commands 2023-06-13 22:43:52 +02:00
Alexey Rybalchenko
25614e3e06 test: Add coverage for --shm-metadata-msg-size 2023-06-13 21:24:40 +02:00
Alexey Rybalchenko
3decac58fc test: Add data transfer and checks to protocol tests 2023-06-13 21:24:40 +02:00
Dennis Klein
f278e7e312 feat: Add new tunable --shm-metadata-msg-size
The shm metadata msg will be right-padded to the given size. This
tunable may be used to saturate the kernel msg buffers more quickly with
the effect that the ZeroMQ message queue size - on which the FairMQ
shmem transport relies upon - behaves more accurately for very small
queue sizes.

This introduces a change for the meta msg format in the multipart case:
old: | MetaHeader 1 | ... | MetaHeader n |
new: | n | MetaHeader 1 | ... | MetaHeader n | padded to fMetadataMsgSize |
where `n` is a `size_t` and contains the number of following meta headers.
Previously, this number was infered from the msg buffer size itself which is
no longer possible due to the potential padding.

Implements #432
2023-06-13 21:24:40 +02:00
Dennis Klein
491a943c63 feat: Use zmq_msg_send for single message Send 2023-06-13 21:24:40 +02:00
Dennis Klein
c47fc6f9fe feat: Move ZMsg to fair::mq::zmq
Implement move semantics.
2023-06-13 21:24:40 +02:00
Giulio Eulisse
7b259afdb5 Fix -Wunqualified-std-cast-call 2023-06-13 21:24:40 +02:00
Dennis Klein
33ddcaad5e docs: Add repology badge 2023-04-05 15:19:05 +02:00
Dennis Klein
4d5dbedeab build: Add spack develop environment 2023-03-23 14:14:08 +01:00
Dennis Klein
c8fde17b6a ci: Silence lsan hits in libzmq 2023-03-06 15:32:48 +01:00
Dennis Klein
3781495d29 build(examples): Deduplicate code into add_example helper 2023-03-06 15:32:48 +01:00
Dennis Klein
8960ce9416 fix: Use std::chrono consistently 2023-03-06 15:32:48 +01:00
Dennis Klein
05b734ee0d feat!: Migrate to std::filesystem consistently 2023-03-06 15:32:48 +01:00
Alexey Rybalchenko
f2dce91098 Make Error classes header only 2023-03-03 12:49:37 +01:00
Alexey Rybalchenko
4af0954ae9 Shm: fix unused value 2023-03-02 19:12:29 +01:00
Alexey Rybalchenko
8f60929f85 Add orcid for Alexey 2023-03-02 13:03:04 +01:00
Dennis Klein
7d401115a0 build: Update CMake policy version range 2023-03-02 11:20:35 +01:00
Dennis Klein
0aecfff133 feat(plugins)!: Remove PMIx plugin 2023-03-02 11:20:35 +01:00
Dennis Klein
2e98a4e2cb feat(ofi)!: Remove ofi transport
BREAKING CHANGE

Due to a lack of users, we remove the experimental code. The
latest implementation can be found in release v1.4.56. This does
not mean it will never be picked up again, but for now there are
no plans.
2023-03-02 11:20:35 +01:00
Dennis Klein
21735544f5 ci: Add Fedora 37 & 38 builds 2023-03-01 15:39:38 +01:00
Dennis Klein
651d779226 build: Do not sort package dependencies
Order matters!

fixes #144
2023-03-01 15:39:38 +01:00
Dennis Klein
5108f699b7 fix: Remove unused fMaxRunRuntimeInS
The corresponding config option was already
removed in v1.4.50 (see 5d45d89269)
2023-03-01 15:39:38 +01:00
Dennis Klein
c35d35a3c3 feat!: Remove Device::TransitionTo() without replacement
BREAKING CHANGE

However, this API was never advertised nor used by anyone.
2023-03-01 15:39:38 +01:00
Dennis Klein
c2fa2e8848 test: Deduplicate code and fix [-Wunused-result] 2023-03-01 15:39:38 +01:00
Dennis Klein
b25c0787c0 test: Fix [-Wunused-result] 2023-03-01 15:39:38 +01:00
Dennis Klein
84de22f80b test: Consolidate some device control logic 2023-03-01 15:39:38 +01:00
Dennis Klein
435d07eaf9 feat: Improve ChangeState API
* Add `[[nodiscard]]` to `bool Device::ChangeState()`
* Introduce throwing variant `void Device::ChangeStateOrThrow()`

resolves #441
2023-03-01 15:39:38 +01:00
Dennis Klein
5ef17fddbb feat: Deprecate Device::fChannels in preparation for #427 2023-03-01 15:39:38 +01:00
Dennis Klein
f699208e30 Merge 'v1.4.56' 2023-02-24 14:35:30 +01:00
Alexey Rybalchenko
8f5efdf74c Extend shmem docs 2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
45663189a9 Turn shm-monitor off by default
resolves #459
2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
61d2797971 Example tests: check exit codes 2023-02-24 14:28:18 +01:00
Alexey Rybalchenko
afd5700cca Update copyright date 2023-02-24 14:28:18 +01:00
Dennis Klein
569f2ccebf ci: Only run workflows on main repo 2023-02-24 13:59:27 +01:00
Dennis Klein
a83e401100 fix: [-Wdeprecated-declarations] 2023-02-24 13:59:27 +01:00
Dennis Klein
0a63c74849 fix: [-Wsign-compare] 2023-02-24 13:59:27 +01:00
Dennis Klein
a58b4870d7 feat(Parts): Refine and tweak
* Optimize appending another Parts container
* Remove redundant/verbose comments
* Change r-value args to move-only types into l-value args for
  readability
* Deprecate `AtRef(int)`, redundant, just dereference at call site
* Deprecate `AddPart(Message*)`, avoid owning raw pointer args
* Add various const overloads
* Add `Empty()` and `Clear()` member functions
* Add `noexcept` where applicable
2023-02-24 13:59:27 +01:00
Alexey Rybalchenko
7bf1d368a8 Device: synchronize access to transports container 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
ae7bc6fc6c Control plugin: remove superfluous automatic transitions 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
9093ed82dc Resume/Interrupt transports consistently
- Resume transports before state callbacks & handlers
 - Interrupt transports on new transitions
2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
efb659f0ac Device: sort includes 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
ae51ecc659 Add Device::ResumeTransports 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
da1c9e4400 Rename Device::UnblockTransports to Device::InterruptTransports 2023-02-22 20:55:15 +01:00
Alexey Rybalchenko
16275db125 Add test for externally (outside the session) created shmem region 2023-01-19 16:12:58 +01:00
Alexey Rybalchenko
42ce691f57 shm: error on duplicate region IDs 2023-01-19 16:12:31 +01:00