]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
ggml : fixes after sync (#983)
authorDiego Devesa <redacted>
Fri, 4 Oct 2024 06:41:40 +0000 (08:41 +0200)
committerGitHub <redacted>
Fri, 4 Oct 2024 06:41:40 +0000 (09:41 +0300)
ggml : remove test-backend-buffer

ggml : fix CUDA build warnings

examples/mnist/mnist-common.h
src/ggml-cuda.cu
tests/CMakeLists.txt
tests/test-backend-buffer.cpp [deleted file]

index 37531b2857d36450ed9c38cfc18e12b1f6fa6348..1c6fe783b25cb7a8e4f8a2b5a070fdbeea59b578 100644 (file)
@@ -57,18 +57,19 @@ struct mnist_model {
     ggml_backend_buffer_t buf_compute = nullptr;
 
     mnist_model(const std::string & backend_name) {
-        const ggml_backend_dev_t dev = ggml_backend_dev_by_name(backend_name.c_str());
+        ggml_backend_dev_t dev = ggml_backend_dev_by_name(backend_name.c_str());
         if (dev == nullptr) {
             fprintf(stderr, "%s: ERROR: backend %s not found, available:\n", __func__, backend_name.c_str());
-            for (size_t i = 0; i < ggml_backend_reg_count(); ++i) {
-                fprintf(stderr, "  - %s\n", ggml_backend_reg_name(ggml_backend_reg_get(i)));
+            for (size_t i = 0; i < ggml_backend_dev_count(); ++i) {
+                ggml_backend_dev_t this_dev = ggml_backend_dev_get(i);
+                fprintf(stderr, "  - %s (%s)\n", ggml_backend_dev_name(this_dev), ggml_backend_dev_description(this_dev));
             }
             exit(1);
         }
 
-        fprintf(stderr, "%s: using %s backend\n", __func__, backend_name.c_str());
+        fprintf(stderr, "%s: using %s (%s) backend\n", __func__, ggml_backend_dev_name(dev), ggml_backend_dev_description(dev));
 
-        ggml_backend_t backend = ggml_backend_dev_init(dev, NULL);
+        backend = ggml_backend_dev_init(dev, NULL);
         if (ggml_backend_is_cpu(backend)) {
             const int ncores_logical = std::thread::hardware_concurrency();
             ggml_backend_cpu_set_n_threads(backend, std::min(ncores_logical, (ncores_logical + 4)/2));
index bcb39766be8413dad87af1d586038e50b6c5805a..5b6f605b0089bed5df81919187aee20fcf6180b1 100644 (file)
@@ -2448,6 +2448,7 @@ static void ggml_backend_cuda_synchronize(ggml_backend_t backend) {
     GGML_UNUSED(backend);
 }
 
+#ifdef USE_CUDA_GRAPH
 static void set_ggml_graph_node_properties(ggml_tensor * node, ggml_graph_node_properties * graph_node_properties) {
     graph_node_properties->node_address = node->data;
     graph_node_properties->node_op = node->op;
@@ -2498,6 +2499,7 @@ static bool ggml_graph_node_has_matching_properties(ggml_tensor * node, ggml_gra
 
     return true;
 }
+#endif
 
 static enum ggml_status ggml_backend_cuda_graph_compute(ggml_backend_t backend, ggml_cgraph * cgraph) {
     ggml_backend_cuda_context * cuda_ctx = (ggml_backend_cuda_context *)backend->context;
index dfa649209c79fa9742181b9d9fbb71aa3ade101b..4a69230e84c975eb8ad1eb5072cf62252f6fad32 100644 (file)
@@ -419,16 +419,6 @@ add_test(NAME ${TEST_TARGET} COMMAND $<TARGET_FILE:${TEST_TARGET}>)
 set_property(TEST ${TEST_TARGET} PROPERTY ENVIRONMENT "LLVM_PROFILE_FILE=${TEST_TARGET}.profraw")
 
 
-#
-# test-backend-buffer
-
-set(TEST_TARGET test-backend-buffer)
-add_executable(${TEST_TARGET} ${TEST_TARGET}.cpp)
-target_link_libraries(${TEST_TARGET} PRIVATE ggml)
-add_test(NAME ${TEST_TARGET} COMMAND $<TARGET_FILE:${TEST_TARGET}>)
-set_property(TEST ${TEST_TARGET} PROPERTY ENVIRONMENT "LLVM_PROFILE_FILE=${TEST_TARGET}.profraw")
-
-
 #
 # test-backend-ops
 
diff --git a/tests/test-backend-buffer.cpp b/tests/test-backend-buffer.cpp
deleted file mode 100644 (file)
index 09f46e8..0000000
+++ /dev/null
@@ -1,85 +0,0 @@
-#include <ggml.h>
-#include <ggml-alloc.h>
-#include <ggml-backend.h>
-
-#include <cstring>
-#include <cstdio>
-#include <cstdlib>
-
-static bool is_pow2(size_t x) {
-    return (x & (x - 1)) == 0;
-}
-
-static void test_buffer(ggml_backend_t backend, ggml_backend_buffer_type_t buft) {
-    GGML_ASSERT(ggml_backend_get_default_buffer_type(backend) == buft);
-
-    GGML_ASSERT(ggml_backend_supports_buft(backend, buft));
-
-    //ggml_backend_buffer_t buffer = ggml_backend_alloc_buffer(backend, 1024);
-    ggml_backend_buffer_t buffer = ggml_backend_buft_alloc_buffer(buft, 1024);
-
-    GGML_ASSERT(buffer != NULL);
-
-    GGML_ASSERT(is_pow2(ggml_backend_buffer_get_alignment(buffer)));
-
-    GGML_ASSERT(ggml_backend_buffer_get_base(buffer) != NULL);
-
-    GGML_ASSERT(ggml_backend_buffer_get_size(buffer) >= 1024);
-
-    struct ggml_init_params params = {
-        /* .mem_size = */ 1024,
-        /* .mem_base = */ NULL,
-        /* .no_alloc = */ true,
-    };
-    struct ggml_context * ctx = ggml_init(params);
-
-    static const size_t n = 10;
-
-    struct ggml_tensor * tensor = ggml_new_tensor_1d(ctx, GGML_TYPE_F32, n);
-
-    GGML_ASSERT(ggml_backend_buffer_get_alloc_size(buffer, tensor) >= n * sizeof(float));
-
-    struct ggml_tallocr allocr = ggml_tallocr_new(buffer);
-    ggml_tallocr_alloc(&allocr, tensor);
-
-    GGML_ASSERT(tensor->data != NULL);
-
-    GGML_ASSERT(tensor->data >= ggml_backend_buffer_get_base(buffer));
-
-    float data[n];
-    for (size_t i = 0; i < n; i++) {
-        data[i] = (float) i;
-    }
-
-    ggml_backend_tensor_set(tensor, data, 0, sizeof(data));
-
-    float data2[n];
-    ggml_backend_tensor_get(tensor, data2, 0, sizeof(data2));
-
-    GGML_ASSERT(memcmp(data, data2, sizeof(data)) == 0);
-
-    ggml_backend_buffer_free(buffer);
-    ggml_free(ctx);
-}
-
-int main() {
-    // enumerate backends
-    printf("Testing %zu backends\n\n", ggml_backend_reg_count());
-
-    for (size_t i = 0; i < ggml_backend_reg_count(); i++) {
-        ggml_backend_reg_t reg = ggml_backend_reg_get(i);
-        const char * reg_name = ggml_backend_reg_name(reg);
-        printf("Backend %zu/%zu (%s)\n", i + 1, ggml_backend_reg_count(), reg_name);
-
-        const ggml_backend_dev_t dev = ggml_backend_reg_dev_get(reg, 0);
-        ggml_backend_t backend = ggml_backend_dev_init(dev, NULL);
-        GGML_ASSERT(backend != NULL);
-        printf("  Backend name: %s\n", ggml_backend_name(backend));
-
-        test_buffer(backend, ggml_backend_get_default_buffer_type(backend));
-
-        ggml_backend_free(backend);
-
-        printf("  OK\n\n");
-    }
-}