Verified Commit 10aa5cae authored by Marc Vef's avatar Marc Vef
Browse files

Adding ofi utils code and build files

parent d8a57584
Loading
Loading
Loading
Loading
+37 −0
Original line number Diff line number Diff line
# - Try to find LIBFABRIC
# Once done this will define
#  LIBFABRIC_FOUND - System has LIBFABRIC
#  LIBFABRIC_INCLUDE_DIRS - The LIBFABRIC include directories
#  LIBFABRIC_LIBRARIES - The libraries needed to use LIBFABRIC

find_package(PkgConfig)
pkg_check_modules(PC_LIBFABRIC libfabric QUIET)

find_path(LIBFABRIC_INCLUDE_DIR rdma/fabric.h
    HINTS ${PC_LIBFABRIC_INCLUDEDIR} ${PC_LIBFABRIC_INCLUDE_DIRS})

find_library(LIBFABRIC_LIBRARY NAMES fabric
    HINTS ${PC_LIBFABRIC_LIBDIR} ${PC_LIBFABRIC_LIBRARY_DIRS})

if(LIBFABRIC_INCLUDE_DIR AND EXISTS "${LIBFABRIC_INCLUDE_DIR}/rdma/fabric.h")
    file(STRINGS "${LIBFABRIC_INCLUDE_DIR}/rdma/fabric.h" FABRIC_H REGEX "^#define FI_MAJOR_VERSION [0-9]+$")
    string(REGEX MATCH "[0-9]+$" LIBFABRIC_VERSION_MAJOR "${FABRIC_H}")

    file(STRINGS "${LIBFABRIC_INCLUDE_DIR}/rdma/fabric.h" FABRIC_H REGEX "^#define FI_MINOR_VERSION [0-9]+$")
    string(REGEX MATCH "[0-9]+$" LIBFABRIC_VERSION_MINOR "${FABRIC_H}")
    set(LIBFABRIC_VERSION_STRING "${LIBFABRIC_VERSION_MAJOR}.${LIBFABRIC_VERSION_MINOR}")

    set(LIBFABRIC_MAJOR_VERSION "${LIBFABRIC_VERSION_MAJOR}")
    set(LIBFABRIC_MINOR_VERSION "${LIBFABRIC_VERSION_MINOR}")
endif()


set(LIBFABRIC_INCLUDE_DIRS ${LIBFABRIC_INCLUDE_DIR})
set(LIBFABRIC_LIBRARIES ${LIBFABRIC_LIBRARY})

include(FindPackageHandleStandardArgs)
find_package_handle_standard_args(LIBFABRIC REQUIRED_VARS
    LIBFABRIC_INCLUDE_DIR LIBFABRIC_LIBRARY
    VERSION_VAR LIBFABRIC_VERSION_STRING)

mark_as_advanced(LIBFABRIC_INCLUDE_DIR LIBFABRIC_LIBRARY)
 No newline at end of file
+1 −0
Original line number Diff line number Diff line
@@ -88,6 +88,7 @@ find_package(Mercury REQUIRED)
find_package(Abt REQUIRED)
find_package(Margo REQUIRED)
find_package(Syscall_intercept REQUIRED)
find_package(LibFabric REQUIRED)

# boost dependencies, system is required for filesystem
find_package(Boost 1.53 REQUIRED
+22 −0
Original line number Diff line number Diff line
/*
  Copyright 2018-2019, Barcelona Supercomputing Center (BSC), Spain
  Copyright 2015-2019, Johannes Gutenberg Universitaet Mainz, Germany

  This software was partially supported by the
  EC H2020 funded project NEXTGenIO (Project ID: 671951, www.nextgenio.eu).

  This software was partially supported by the
  ADA-FS project under the SPPEXA project funded by the DFG.

  SPDX-License-Identifier: MIT
*/

#ifndef GKFS_OFI_UTIL_HPP
#define GKFS_OFI_UTIL_HPP

#include <string>

std::string ofi_gethostbyname(const std::string& name, const std::string& prov);

#endif //GKFS_OFI_UTIL_HPP
+1 −1
Original line number Diff line number Diff line
@@ -55,6 +55,7 @@ target_link_libraries(gkfs_intercept
    metadata
    distributor
    env_util
    ofi_utils
    # external
    Syscall_intercept::Syscall_intercept
    dl
@@ -69,7 +70,6 @@ target_link_libraries(gkfs_intercept
target_include_directories(gkfs_intercept
    PRIVATE
    ${ABT_INCLUDE_DIRS}
    ${MARGO_INCLUDE_DIRS}
    )

install(TARGETS gkfs_intercept
+16 −0
Original line number Diff line number Diff line
@@ -39,3 +39,19 @@ target_sources(metadata
target_link_libraries(metadata
    fmt::fmt
    )

add_library(ofi_utils STATIC)
set_property(TARGET ofi_utils PROPERTY POSITION_INDEPENDENT_CODE ON)
target_sources(ofi_utils
    PUBLIC
    ${INCLUDE_DIR}/global/ofi_utils.hpp
    PRIVATE
    ${CMAKE_CURRENT_LIST_DIR}/ofi_utils.cpp
    )
target_link_libraries(ofi_utils
    ${LIBFABRIC_LIBRARIES}
    )
target_include_directories(ofi_utils
    PRIVATE
    ${LIBFABRIC_INCLUDE_DIRS}
    )
 No newline at end of file
Loading