Skip to content
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

dcgm: 3.3.5 -> 3.3.9; cudaPackages_10{,_0,_1,_2}: drop #357655

Merged
merged 8 commits into from
Nov 22, 2024
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
2 changes: 2 additions & 0 deletions nixos/doc/manual/release-notes/rl-2505.section.md
Original file line number Diff line number Diff line change
Expand Up @@ -28,6 +28,8 @@
After you run ALTER EXTENSION, you must run [this SQL script](https://github.com/timescale/timescaledb-extras/blob/master/utils/2.15.X-fix_hypertable_foreign_keys.sql). For more details, see the following pull requests [#6797](https://github.com/timescale/timescaledb/pull/6797).
PostgreSQL 13 is no longer supported in TimescaleDB v2.16.

- Support for CUDA 10 has been dropped, as announced in the 24.11 release notes.

- `kanata` was updated to v1.7.0, which introduces several breaking changes.
See the release notes of
[v1.7.0](https://github.com/jtroo/kanata/releases/tag/v1.7.0)
Expand Down
30 changes: 2 additions & 28 deletions pkgs/applications/science/math/caffe/default.nix
Original file line number Diff line number Diff line change
Expand Up @@ -14,23 +14,11 @@
, Accelerate, CoreGraphics, CoreVideo
, lmdbSupport ? true, lmdb
, leveldbSupport ? true, leveldb, snappy
, cudaSupport ? config.cudaSupport, cudaPackages ? { }
, cudnnSupport ? cudaSupport
, ncclSupport ? false
, pythonSupport ? false, python ? null, numpy ? null
, substituteAll
}:

let
inherit (cudaPackages) backendStdenv cudatoolkit nccl;
# The default for cudatoolkit 10.1 is CUDNN 8.0.5, the last version to support CUDA 10.1.
# However, this caffe does not build with CUDNN 8.x, so we use CUDNN 7.6.5 instead.
# Earlier versions of cudatoolkit use pre-8.x CUDNN, so we use the default.
hasCudnn =
if lib.versionOlder cudatoolkit.version "10.1"
then cudaPackages ? cudnn
else cudaPackages ? cudnn_7_6;

toggle = bool: if bool then "ON" else "OFF";

test_model_weights = fetchurl {
Expand All @@ -57,20 +45,12 @@ stdenv.mkDerivation rec {
# boost_python expects
[ (if pythonSupport then "-Dpython_version=${python.pythonVersion}" else "-DBUILD_python=OFF")
"-DBLAS=open"
] ++ (if cudaSupport then [
"-DCUDA_ARCH_NAME=All"
"-DCUDA_HOST_COMPILER=${backendStdenv.cc}/bin/cc"
] else [ "-DCPU_ONLY=ON" ])
++ ["-DUSE_NCCL=${toggle ncclSupport}"]
++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
"-DCPU_ONLY=ON"
] ++ ["-DUSE_LEVELDB=${toggle leveldbSupport}"]
++ ["-DUSE_LMDB=${toggle lmdbSupport}"];

buildInputs = [ boost gflags glog protobuf hdf5-cpp opencv4 blas ]
++ lib.optional cudaSupport cudatoolkit
++ lib.optional (lib.versionOlder cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn
++ lib.optional (lib.versionAtLeast cudatoolkit.version "10.1" && hasCudnn) cudaPackages.cudnn_7_6
++ lib.optional lmdbSupport lmdb
++ lib.optional ncclSupport nccl
++ lib.optionals leveldbSupport [ leveldb snappy ]
++ lib.optionals pythonSupport [ python numpy ]
++ lib.optionals stdenv.hostPlatform.isDarwin [ Accelerate CoreGraphics CoreVideo ]
Expand Down Expand Up @@ -105,9 +85,6 @@ stdenv.mkDerivation rec {
substituteInPlace src/caffe/util/io.cpp --replace \
'SetTotalBytesLimit(kProtoReadBytesLimit, 536870912)' \
'SetTotalBytesLimit(kProtoReadBytesLimit)'
'' + lib.optionalString (cudaSupport && lib.versionAtLeast cudatoolkit.version "9.0") ''
# CUDA 9.0 doesn't support sm_20
sed -i 's,20 21(20) ,,' cmake/Cuda.cmake
'';

preConfigure = lib.optionalString pythonSupport ''
Expand Down Expand Up @@ -150,10 +127,7 @@ stdenv.mkDerivation rec {
maintainers = [ ];
broken =
(pythonSupport && (python.isPy310))
|| cudaSupport
|| !(leveldbSupport -> (leveldb != null && snappy != null))
|| !(cudnnSupport -> (hasCudnn && cudaSupport))
|| !(ncclSupport -> (cudaSupport && !nccl.meta.unsupported))
|| !(pythonSupport -> (python != null && numpy != null))
;
license = licenses.bsd2;
Expand Down
40 changes: 40 additions & 0 deletions pkgs/by-name/dc/dcgm/dynamic-libs.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,40 @@
diff --git a/cmake/FindJsoncpp.cmake b/cmake/FindJsoncpp.cmake
index abedf7bb85..d7a52f5c7b 100644
--- a/cmake/FindJsoncpp.cmake
+++ b/cmake/FindJsoncpp.cmake
@@ -16,8 +16,8 @@

if (NOT TARGET JsonCpp::JsonCpp)
find_package(jsoncpp REQUIRED CONFIG)
- set(JSONCPP_STATIC_LIBS jsoncpp_static)
- set(JSONCPP_INCLUDE_PATH $<TARGET_PROPERTY:jsoncpp_static,INTERFACE_INCLUDE_DIRECTORIES>)
+ set(JSONCPP_STATIC_LIBS jsoncpp)
+ set(JSONCPP_INCLUDE_PATH $<TARGET_PROPERTY:jsoncpp,INTERFACE_INCLUDE_DIRECTORIES>)
endif()
# set(Jsoncpp_PATH_PREFIXES /usr/local "${Jsoncpp_ROOT}" "$ENV{HOME}")
# foreach(prefix ${Jsoncpp_PATH_PREFIXES})
diff --git a/cmake/FindLibevent.cmake b/cmake/FindLibevent.cmake
index 354d6f9b99..38aca9534e 100644
--- a/cmake/FindLibevent.cmake
+++ b/cmake/FindLibevent.cmake
@@ -26,16 +26,12 @@
endforeach()

find_path(LIBEVENT_INCLUDE_DIR evhttp.h event.h PATHS ${Libevent_INCLUDE_PATHS})
-find_library(LIBEVENT_STATIC_LIB NAMES libevent.a libevent_core.a libevent_extra.a PATHS ${Libevent_LIB_PATHS})
-find_library(LIBEVENT_PTHREAD_STATIC_LIB NAMES libevent_pthreads.a PATHS ${Libevent_LIB_PATHS})
+find_library(LIBEVENT_STATIC_LIB NAMES libevent.so libevent_core.so libevent_extra.so PATHS ${Libevent_LIB_PATHS})
+find_library(LIBEVENT_PTHREAD_STATIC_LIB NAMES libevent_pthreads.so PATHS ${Libevent_LIB_PATHS})

-if (LIBEVENT_INCLUDE_DIR AND LIBEVENT_STATIC_LIB AND LIBEVENT_PTHREAD_STATIC_LIB)
+if (LIBEVENT_INCLUDE_DIR AND LIBEVENT_STATIC_LIB)
set(Libevent_FOUND TRUE)
- add_library(libevent_event_static STATIC IMPORTED)
- set_target_properties(libevent_event_static PROPERTIES IMPORTED_LOCATION ${LIBEVENT_STATIC_LIB})
- add_library(libevent_event_pthread STATIC IMPORTED)
- set_target_properties(libevent_event_pthread PROPERTIES IMPORTED_LOCATION ${LIBEVENT_PTHREAD_STATIC_LIB})
- set(LIBEVENT_STATIC_LIBS libevent_event_static libevent_event_pthread)
+ set(LIBEVENT_STATIC_LIBS ${LIBEVENT_STATIC_LIB} ${LIBEVENT_PTHREAD_STATIC_LIB})
else ()
set(Libevent_FOUND FALSE)
endif ()
110 changes: 110 additions & 0 deletions pkgs/by-name/dc/dcgm/fix-includes.patch
Original file line number Diff line number Diff line change
@@ -0,0 +1,110 @@
diff --git a/common/CudaWorker/DcgmDgemm.cpp b/common/CudaWorker/DcgmDgemm.cpp
index 8d33a3256e..6b3284258d 100644
--- a/common/CudaWorker/DcgmDgemm.cpp
+++ b/common/CudaWorker/DcgmDgemm.cpp
@@ -17,6 +17,7 @@

#include <exception>
#include <stdexcept>
+#include <cinttypes>

#define CU_CHK(op) \
if (auto const status = op; status != CUBLAS_STATUS_SUCCESS) \
@@ -122,4 +123,4 @@
return CUBLAS_STATUS_SUCCESS;
}

-} // namespace DcgmNs
\ No newline at end of file
+} // namespace DcgmNs
diff --git a/common/DcgmError.h b/common/DcgmError.h
index 8638cdceb1..e8d817c0d4 100644
--- a/common/DcgmError.h
+++ b/common/DcgmError.h
@@ -17,6 +17,7 @@

#include <sstream>
#include <string>
+#include <cinttypes>

#include <dcgm_agent.h>
#include <dcgm_errors.h>
diff --git a/common/DcgmStringHelpers.cpp b/common/DcgmStringHelpers.cpp
index b41917e3b7..1fe63980c7 100644
--- a/common/DcgmStringHelpers.cpp
+++ b/common/DcgmStringHelpers.cpp
@@ -17,6 +17,7 @@

#include <cstring>
#include <string>
+#include <algorithm>

/*****************************************************************************/
void dcgmTokenizeString(const std::string &src, const std::string &delimiter, std::vector<std::string> &tokens)
diff --git a/dcgmi/CommandOutputController.cpp b/dcgmi/CommandOutputController.cpp
index 5057205564..8520171efa 100644
--- a/dcgmi/CommandOutputController.cpp
+++ b/dcgmi/CommandOutputController.cpp
@@ -24,6 +24,7 @@
#include "dcgm_agent.h"
#include <DcgmStringHelpers.h>
#include <algorithm>
+#include <functional>
#include <cstdarg>
#include <iostream>
#include <string>
diff --git a/dcgmi/Diag.h b/dcgmi/Diag.h
index a326f7b949..563fb3c9c0 100755
--- a/dcgmi/Diag.h
+++ b/dcgmi/Diag.h
@@ -24,6 +24,7 @@
#define DIAG_H_

#include <optional>
+#include <functional>

#include "Command.h"
#include "CommandOutputController.h"
diff --git a/hostengine/src/HostEngineOutput.cpp b/hostengine/src/HostEngineOutput.cpp
index 23c6ca9f54..798b83b3e4 100644
--- a/hostengine/src/HostEngineOutput.cpp
+++ b/hostengine/src/HostEngineOutput.cpp
@@ -20,6 +20,7 @@
#include <iostream>
#include <limits>
#include <string_view>
+#include <unordered_map>

namespace
{
@@ -365,4 +366,4 @@
}
}
os << std::endl;
-}
\ No newline at end of file
+}
diff --git a/nvvs/src/NvvsCommon.cpp b/nvvs/src/NvvsCommon.cpp
index 8f7888649b..1604d9dabe 100644
--- a/nvvs/src/NvvsCommon.cpp
+++ b/nvvs/src/NvvsCommon.cpp
@@ -15,6 +15,7 @@
*/
#include <sstream>
#include <stdexcept>
+#include <algorithm>
#include <sys/stat.h>
#include <sys/types.h>

diff --git a/sdk/nvidia/nvml/nvml_loader/nvml_loader.cpp b/sdk/nvidia/nvml/nvml_loader/nvml_loader.cpp
index 9eebeaf1c4..6e21201229 100644
--- a/sdk/nvidia/nvml/nvml_loader/nvml_loader.cpp
+++ b/sdk/nvidia/nvml/nvml_loader/nvml_loader.cpp
@@ -20,6 +20,7 @@

#include <atomic>
#include <mutex>
+#include <cstdlib>

static void *g_nvmlLib = 0;
static std::atomic_uint32_t g_nvmlStaticLibResetHooksCount = 1;
Loading