| 2041 | } |
| 2042 | |
| 2043 | void calc_sizes(size_t & ctx_size_p, size_t & mmapped_size_p) const { |
| 2044 | ctx_size_p = 0; |
| 2045 | mmapped_size_p = 0; |
| 2046 | |
| 2047 | for (int i = 0; i < n_tensors; i++) { |
| 2048 | struct ggml_tensor * meta = get_tensor_meta(i); |
| 2049 | ctx_size_p += sizeof(struct ggml_tensor) + GGML_OBJECT_SIZE; |
| 2050 | (use_mmap ? mmapped_size_p : ctx_size_p) += ggml_nbytes_pad(meta); |
| 2051 | } |
| 2052 | } |
| 2053 | |
| 2054 | struct ggml_tensor * create_tensor_for(struct ggml_context * ctx, struct ggml_tensor * meta, ggml_backend_type backend) { |
| 2055 | if (backend != GGML_BACKEND_CPU) { |
no test coverage detected