123456789101112131415161718192021222324252627282930313233343536373839404142 |
- #include "ggml/ggml.h"
- #include <stdio.h>
- #include <stdlib.h>
- int main(int argc, const char ** argv) {
- struct ggml_init_params params = {
- .mem_size = 128*1024*1024,
- .mem_buffer = NULL,
- .no_alloc = false,
- };
- struct ggml_context * ctx0 = ggml_init(params);
- struct ggml_tensor * t1 = ggml_new_tensor_1d(ctx0, GGML_TYPE_F32, 10);
- struct ggml_tensor * t2 = ggml_new_tensor_2d(ctx0, GGML_TYPE_I16, 10, 20);
- struct ggml_tensor * t3 = ggml_new_tensor_3d(ctx0, GGML_TYPE_I32, 10, 20, 30);
- GGML_ASSERT(t1->n_dims == 1);
- GGML_ASSERT(t1->ne[0] == 10);
- GGML_ASSERT(t1->nb[1] == 10*sizeof(float));
- GGML_ASSERT(t2->n_dims == 2);
- GGML_ASSERT(t2->ne[0] == 10);
- GGML_ASSERT(t2->ne[1] == 20);
- GGML_ASSERT(t2->nb[1] == 10*sizeof(int16_t));
- GGML_ASSERT(t2->nb[2] == 10*20*sizeof(int16_t));
- GGML_ASSERT(t3->n_dims == 3);
- GGML_ASSERT(t3->ne[0] == 10);
- GGML_ASSERT(t3->ne[1] == 20);
- GGML_ASSERT(t3->ne[2] == 30);
- GGML_ASSERT(t3->nb[1] == 10*sizeof(int32_t));
- GGML_ASSERT(t3->nb[2] == 10*20*sizeof(int32_t));
- GGML_ASSERT(t3->nb[3] == 10*20*30*sizeof(int32_t));
- ggml_print_objects(ctx0);
- ggml_free(ctx0);
- return 0;
- }
|