char-fork/llama.cpp
git clone https://git.t4t.associates/char-fork/llama.cpp
81b0d882a
char/aliceai-t5-moe
1#pragma once 2 3#include "spine_barrier.h" 4#include "spine_mem_pool.h" 5 6#include <cstddef> 7#include <cstdint> 8#include <vector> 9 10namespace ggml ::cpu ::riscv64_spacemit { 11 12constexpruint64_t spine_invalid_core_id = 0xFFFFFFFF ; 13constexprsize_t spine_init_barrier_count = 16 ; 14 15enum class spine_core_arch_id :uint16_t { 16core_arch_none = 0 , 17core_arch_x60 = 0x503C , 18core_arch_x100 = 0x5064 , 19core_arch_x200 = 0x50C8 , 20core_arch_a60 = 0xA03C , 21core_arch_a100 = 0xA064 , 22core_arch_a200 = 0xA0C8 , 23}; 24 25struct spine_core_info { 26uint64_t core_id {spine_invalid_core_id }; 27spine_core_arch_id arch_id {spine_core_arch_id ::core_arch_none }; 28 29static bool get_spine_core_info (std ::vector < spine_core_info > & result ); 30}; 31 32struct spine_env_info { 33std ::vector < spine_core_info > core_info_list ; 34std ::vector < int > perfer_core_ids ; 35int aicpu_id_offset {0 }; 36int num_cores {0 }; 37int num_perfer_cores {0 }; 38spine_core_arch_id perfer_core_arch_id {spine_core_arch_id ::core_arch_none }; 39bool exclude_main_thread { false }; 40bool use_ime2 { false }; 41bool use_ime1 { false }; 42bool use_tcm { false }; 43spine_mem_pool_backend mem_backend {spine_mem_pool_backend ::transparent_hugepage }; 44uint64_t tcm_blk_size {0 }; 45uint64_t cpu_mask {0 }; 46spine_barrier_t * init_barrier {nullptr }; 47bool init_barrier_is_shared_mem { false }; 48 49spine_env_info (); 50 ~spine_env_info (); 51}; 52 53extern spine_env_info global_spine_env_info ; 54 55}// namespace ggml::cpu::riscv64_spacemit