test0.c 1.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. #include "ggml/ggml.h"
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. int main(int argc, const char ** argv) {
  5. struct ggml_init_params params = {
  6. .mem_size = 128*1024*1024,
  7. .mem_buffer = NULL,
  8. .no_alloc = false,
  9. };
  10. struct ggml_context * ctx0 = ggml_init(params);
  11. struct ggml_tensor * t1 = ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, 10);
  12. struct ggml_tensor * t2 = ggml_new_tensor_2d(ctx0, GGML_TYPE_I16, 10, 20);
  13. struct ggml_tensor * t3 = ggml_new_tensor_3d(ctx0, GGML_TYPE_I32, 10, 20, 30);
  14. GGML_ASSERT(t1->n_dims == 1);
  15. GGML_ASSERT(t1->ne[0] == 10);
  16. GGML_ASSERT(t1->nb[1] == 10*sizeof(float));
  17. GGML_ASSERT(t2->n_dims == 2);
  18. GGML_ASSERT(t2->ne[0] == 10);
  19. GGML_ASSERT(t2->ne[1] == 20);
  20. GGML_ASSERT(t2->nb[1] == 10*sizeof(int16_t));
  21. GGML_ASSERT(t2->nb[2] == 10*20*sizeof(int16_t));
  22. GGML_ASSERT(t3->n_dims == 3);
  23. GGML_ASSERT(t3->ne[0] == 10);
  24. GGML_ASSERT(t3->ne[1] == 20);
  25. GGML_ASSERT(t3->ne[2] == 30);
  26. GGML_ASSERT(t3->nb[1] == 10*sizeof(int32_t));
  27. GGML_ASSERT(t3->nb[2] == 10*20*sizeof(int32_t));
  28. GGML_ASSERT(t3->nb[3] == 10*20*30*sizeof(int32_t));
  29. ggml_print_objects(ctx0);
  30. ggml_free(ctx0);
  31. return 0;
  32. }