-
Notifications
You must be signed in to change notification settings - Fork 26
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Adds fabric attached memory support #136
base: develop
Are you sure you want to change the base?
Changes from 85 commits
f81312a
c6a1d1b
7e55bcc
18e2173
d89ce1d
0100289
9d15d21
834e383
cf9d3ce
9a15889
0ac8e1c
019a023
eae3d56
ac97194
fa65557
612e118
23c812b
15eec53
9c12f27
88559c1
563bfcb
7def82a
a24d283
8a7e645
159c2ed
83a4133
aeeb708
a27c704
7d9229b
aaed9ba
9143b1a
c7e3527
eac0563
fcbb4f0
e765362
4ebff2b
7102266
f5f4ba0
2031014
d2a33f0
fdbd96e
0b0b9f8
941c5b3
be4cf01
a3507c3
9b7fcd7
80cb07d
479cdce
d23597b
feb59d0
7664d3e
e6540ba
b80d778
5446778
498945a
d2260c2
5a9e3c3
389f058
da231b4
0a76dea
2600ae9
7d67f59
f37c54a
c46d522
8084b8c
fe74e68
5f2f4d2
f4c14b3
8406fd6
c916b13
3c06f56
0635489
de2db6d
c5e5e0a
cbd82e2
f25c67f
3f8826f
b876c28
0636715
ebd49b5
10cde31
98bba5a
a582f72
2f37426
b35baf0
a6b564d
4ffb14a
6d0c0cb
95413af
354715b
File filter
Filter by extension
Conversations
Jump to
Diff view
Diff view
There are no files selected for viewing
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -11,3 +11,4 @@ doc/latex | |
.idea | ||
build/ | ||
*.ccls-cache | ||
compile_commands.json |
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,108 @@ | ||
# Copyright 2024- European Centre for Medium-Range Weather Forecasts (ECMWF) | ||
# | ||
# 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 | ||
# | ||
# https://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. | ||
# | ||
# In applying this licence, ECMWF does not waive the privileges and immunities | ||
# granted to it by virtue of its status as an intergovernmental organisation nor | ||
# does it submit to any jurisdiction. | ||
# | ||
# Requires: | ||
# FindPackageHandleStandardArgs (CMake standard module) | ||
# | ||
|
||
#[=======================================================================[.rst: | ||
FindLibUUID | ||
-------- | ||
|
||
This module finds the libuuid (from util-linux) library. | ||
|
||
Imported Targets | ||
^^^^^^^^^^^^^^^^ | ||
|
||
This module provides the following imported targets, if found: | ||
|
||
``LibUUID`` | ||
The libuuid library | ||
|
||
Result variables | ||
^^^^^^^^^^^^^^^^ | ||
|
||
This module will set the following variables in your project: | ||
|
||
``LIB_UUID_FOUND`` | ||
True if the libuuid library is found. | ||
``LIB_UUID_INCLUDE_DIRS`` | ||
Include directories needed to use libuuid. | ||
``LIB_UUID_LIBRARIES`` | ||
Libraries needed to link to libuuid. | ||
|
||
Cache variables | ||
^^^^^^^^^^^^^^^ | ||
|
||
The following cache variables may also be set to help find libuuid library: | ||
|
||
``LIB_UUID_INCLUDE_DIR`` | ||
where to find the libuuid headers. | ||
``LIB_UUID_LIBRARY`` | ||
where to find the libuuid library. | ||
|
||
Hints | ||
^^^^^ | ||
|
||
The environment variables ``LIB_UUID_ROOT``, ``LIB_UUID_DIR``, and ``LIB_UUID_PATH`` | ||
may also be set to help find libuuid library. | ||
|
||
#]=======================================================================] | ||
|
||
find_path(LIB_UUID_INCLUDE_DIR uuid.h | ||
HINTS | ||
${LIB_UUID_ROOT} | ||
${LIB_UUID_DIR} | ||
${LIB_UUID_PATH} | ||
ENV LIB_UUID_ROOT | ||
ENV LIB_UUID_DIR | ||
ENV LIB_UUID_PATH | ||
PATH_SUFFIXES uuid | ||
Comment on lines
+69
to
+75
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. are we working with custom compiled / custom locations for libuuid? if not the default search locations should be sufficient to pick up libuuid |
||
) | ||
|
||
find_library(LIB_UUID_LIBRARY | ||
NAMES uuid | ||
HINTS | ||
${LIB_UUID_ROOT} | ||
${LIB_UUID_DIR} | ||
${LIB_UUID_PATH} | ||
ENV LIB_UUID_ROOT | ||
ENV LIB_UUID_DIR | ||
ENV LIB_UUID_PATH | ||
PATH_SUFFIXES lib lib64 | ||
) | ||
|
||
include(FindPackageHandleStandardArgs) | ||
|
||
find_package_handle_standard_args(LibUUID REQUIRED_VARS | ||
LIB_UUID_LIBRARY | ||
LIB_UUID_INCLUDE_DIR) | ||
|
||
if (LIB_UUID_FOUND) | ||
set(LIB_UUID_LIBRARIES ${LIB_UUID_LIBRARY}) | ||
set(LIB_UUID_INCLUDE_DIRS ${LIB_UUID_INCLUDE_DIR}) | ||
if(NOT TARGET LibUUID) | ||
add_library(LibUUID UNKOWN IMPORTED) | ||
set_target_properties(LibUUID PROPERTIES | ||
IMPORTED_LOCATION "${LIB_UUID_LIBRARY}" | ||
INTERFACE_INCLUDE_DIRECTORIES "${LIB_UUID_INCLUDE_DIR}" | ||
INTERFACE_LINK_LIBRARIES "${LIB_UUID_LIBRARY}") | ||
endif() | ||
endif() | ||
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. I suggest that your custom find package follows the one make uses internally for liquid, see: https://gitlab.kitware.com/cmake/cmake/-/blob/master/Source/Modules/FindLibUUID.cmake Ofc you can drop msgs/cygwin stuff. |
||
|
||
mark_as_advanced(LIB_UUID_INCLUDE_DIR LIB_UUID_LIBRARY) |
Original file line number | Diff line number | Diff line change |
---|---|---|
|
@@ -40,6 +40,8 @@ class Buffer : private NonCopyable { | |
|
||
~Buffer(); | ||
|
||
std::string_view view() const noexcept { return std::string_view(buffer_, size_); } | ||
|
||
Comment on lines
+43
to
+44
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more.
|
||
operator char*() { return buffer_; } | ||
operator const char*() const { return buffer_; } | ||
|
||
|
Original file line number | Diff line number | Diff line change |
---|---|---|
@@ -0,0 +1,47 @@ | ||
/* | ||
* (C) Copyright 1996- ECMWF. | ||
* | ||
* This software is licensed under the terms of the Apache Licence Version 2.0 | ||
* which can be obtained at http://www.apache.org/licenses/LICENSE-2.0. | ||
* In applying this licence, ECMWF does not waive the privileges and immunities | ||
* granted to it by virtue of its status as an intergovernmental organisation nor | ||
* does it submit to any jurisdiction. | ||
*/ | ||
|
||
/* | ||
* This software was developed as part of the Horizon Europe programme funded project OpenCUBE | ||
* (Grant agreement: 101092984) horizon-opencube.eu | ||
*/ | ||
|
||
/// @file FamConfig.h | ||
/// @author Metin Cakircali | ||
/// @date May 2024 | ||
|
||
#pragma once | ||
|
||
#include "eckit/net/Endpoint.h" | ||
|
||
#include <ostream> | ||
#include <string> | ||
|
||
namespace eckit { | ||
|
||
//---------------------------------------------------------------------------------------------------------------------- | ||
|
||
struct FamConfig { | ||
net::Endpoint endpoint {"127.0.0.1", -1}; | ||
std::string sessionName {"EckitFamSession"}; | ||
|
||
bool operator==(const FamConfig& other) const { | ||
return (endpoint == other.endpoint && sessionName == other.sessionName); | ||
} | ||
|
||
friend std::ostream& operator<<(std::ostream& out, const FamConfig& config) { | ||
out << "endpoint=" << config.endpoint << ", sessionName=" << config.sessionName; | ||
return out; | ||
} | ||
Comment on lines
+39
to
+42
There was a problem hiding this comment. Choose a reason for hiding this commentThe reason will be displayed to describe this comment to others. Learn more. This does not need to be a friend. |
||
}; | ||
|
||
//---------------------------------------------------------------------------------------------------------------------- | ||
|
||
} // namespace eckit |
There was a problem hiding this comment.
Choose a reason for hiding this comment
The reason will be displayed to describe this comment to others. Learn more.
They should specify the desired minimum version to search for.