|
ember.cpp 0.1.0
C++ inference engine for Llama-family and paperkiln models (CPU, CUDA, WebAssembly)
|
#include "graph_ir_recurrence.h"#include <algorithm>#include <cctype>#include <cmath>#include <cstdlib>#include <map>#include <set>#include <stdexcept>
Go to the source code of this file.
Classes | |
| struct | ember_ir::rec::Program |
Namespaces | |
| namespace | ember_ir |
| namespace | ember_ir::rec |
| std::vector<E> a |
Definition at line 128 of file graph_ir_recurrence.cpp.
Referenced by add_vectors_kernel(), tinyllama::apply_contract_penalty(), ember_ir::rec::Program::assign(), ember_ir::Interpreter::bind(), bpe_run(), ember_ir::rec::Recurrence::compile(), ember::nfc::compose(), tinyllama::debug_dump_topk(), decode_attention_tiles(), ember_ir::cpu::depth_attend(), dot_f32_as_f64(), microtorch::llama3::Tokenizer::encode_word(), microtorch::chat::Template::from_json(), tinyllama::TinyLlamaSession::generate(), generate_bpe_merges_from_vocab_scores(), ember_ir::ir_binary_cuda(), microtorch::bpe::Tokenizer::key(), main(), microtorch::chat::messages_from_json(), ember_ir::cpu::mla_attention(), moe_ffn_routed_f32_cpu(), ember::nfc::nfc(), ember::QwenNfcTokenizer::QwenNfcTokenizer(), microtorch::chat::resolve(), ember_ir::Interpreter::run_nodes(), detail::safe_max(), detail::safe_min(), microtorch::chat::detail::sha256_hex(), simd_dot_product(), sort_tokens_by_length_desc(), ember::SpmTokenizer::SpmTokenizer(), ember::strip_reply_ws(), ember_ir::cpu::sub(), ember_tiled::tiled_split_block(), microtorch::bpe::Tokenizer::Tokenizer(), microtorch::llama3::Tokenizer::Tokenizer(), ember::tool_calls_json(), ember::utf8_valid_json(), and vec_dot_q6_k_q8_k_cpu().
| E body |
Definition at line 145 of file graph_ir_recurrence.cpp.
Referenced by bpe_repeat_fields(), ember_ir::rec::Recurrence::compile(), main(), ember::openai_conversation(), ember::openai_conversation_tools(), ember::detail::openai_thinking(), ember::ordered_tools(), and ember::parse_score_body().
| size_t body_tok = 0 |
Definition at line 147 of file graph_ir_recurrence.cpp.
| size_t column = 0 |
Definition at line 43 of file graph_ir_recurrence.cpp.
|
private |
Definition at line 417 of file graph_ir_recurrence.cpp.
| int id = -1 |
Definition at line 126 of file graph_ir_recurrence.cpp.
Referenced by tinyllama::apply_contract_penalty(), tinyllama::apply_repetition_penalty(), ember_ir::rec::Recurrence::compile(), ember::control_ids_check(), microtorch::llama3::Tokenizer::decode(), ember::SpmTokenizer::decode(), Tokenizer::decode(), Tokenizer::decode_sentencepiece(), ember::QwenNfcTokenizer::encode(), microtorch::llama3::Tokenizer::encode(), ember::SpmTokenizer::encode(), microtorch::bpe::Tokenizer::encode_chunk(), ember::SpmTokenizer::encode_fragment(), tinyllama::TinyLlamaSession::generate(), generate_bpe_merges_from_vocab_scores(), microtorch::chat::get(), Tokenizer::load_vocab_from_json(), quantize_fp32_to_q8_K(), ember_ir::Interpreter::run_nodes(), and Tokenizer::Tokenizer().
|
private |
Definition at line 420 of file graph_ir_recurrence.cpp.
| int index = -1 |
Definition at line 119 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::Interpreter::build_rope_tables(), and ember::SpmTokenizer::encode_fragment().
Definition at line 182 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Recurrence::compile().
Definition at line 44 of file graph_ir_recurrence.cpp.
| std::vector<Ix> ix |
Definition at line 127 of file graph_ir_recurrence.cpp.
| K k = K::Num |
Definition at line 124 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Program::assign(), ember_ir::Interpreter::bind(), ember::build_general_prompt(), ember_ir::build_ir_from_gguf(), KVCache::clear_data(), ember_ir::rec::Recurrence::compile(), ember_ir::cpu::conv1d_causal_row(), dot_f32_as_f64(), ember_draft::DraftTable::draft(), ember::QwenNfcTokenizer::encode(), microtorch::bpe::Tokenizer::encode_chunk(), ember_ir::es_number_string(), microtorch::chat::Template::from_json(), ember_ir::Interpreter::init(), ember_ir::rec::Recurrence::init(), ember::insert_state_blocks(), ember_ir::ir_expr_cuda(), ember_ir::ir_kv_write_cuda(), ember_ir::ir_linear_attention_cuda(), ember_ir::ir_rope_at_cuda(), ember_ir::ir_rope_cuda(), kv_write_devpos_kernel(), ember_ir::linear_attention_row_cpu(), load_gguf_meta(), main(), microtorch::chat::messages_from_json(), ember_ir::cpu::mla_attention(), moe_ffn_cuda(), moe_ffn_f32_cpu(), moe_ffn_routed_f32_cpu(), moe_ffn_scratch_floats(), microtorch::chat::parse_reply(), microtorch::bpe::Tokenizer::pretokenize(), tinyllama::prompt_lookup_draft(), quantize_q4_k_m(), ember::QwenNfcTokenizer::QwenNfcTokenizer(), microtorch::bpe::read_gguf_tokenizer(), ember_ir::Interpreter::rec_begin(), ember_ir::Interpreter::rec_end(), ember_ir::Interpreter::rec_row_done(), ember_ir::Interpreter::run_nodes(), ember_ir::Interpreter::save_state(), ember::score_banned(), ember::score_fill(), microtorch::chat::detail::sha256_hex(), ember_ir::sha256_hex_bytes(), ember_ir::cpu::split_groups(), microtorch::chat::strip_py_ws(), ember_tiled::tiled_split_block(), tinyllama::TinyLlamaSession::TinyLlamaSession(), vec_dot_q4_k_q8_k_cpu(), vec_dot_q6_k_q8_k_cpu(), and ember_kvq::write_cuda().
| TKind kind = Tok::End |
Definition at line 41 of file graph_ir_recurrence.cpp.
| int lets = 0 |
Definition at line 183 of file graph_ir_recurrence.cpp.
| std::vector<int> lhs |
Definition at line 144 of file graph_ir_recurrence.cpp.
| std::string name |
Definition at line 134 of file graph_ir_recurrence.cpp.
| size_t numel = 1 |
Definition at line 138 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::Interpreter::bind(), and uint8_vector_to_uint16_vector().
| long off = 0 |
Definition at line 120 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::Interpreter::bind(), ember::SpmTokenizer::encode(), microtorch::bpe::Tokenizer::encode_chunk(), ember::SpmTokenizer::encode_fragment(), microtorch::llama3::Tokenizer::encode_word(), kv_write_devpos_kernel(), ember_ir::Interpreter::rec_row_done(), tinyllama::TinyLlamaSession::score_reuse_ok(), microtorch::chat::detail::sha256_hex(), and ember_ir::sha256_hex_bytes().
|
private |
Definition at line 415 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Recurrence::init(), ember_ir::rec::Recurrence::slot_errors(), ember_ir::rec::Recurrence::state(), and ember_ir::rec::Recurrence::step().
| int pos = 0 |
Definition at line 139 of file graph_ir_recurrence.cpp.
Referenced by attention_visible_rows(), attention_window_batch_cpu(), ember_ir::Interpreter::build_rope_tables(), ember_ir::rec::Recurrence::compile(), CPUBatchProcessor::forward_cpu_batch(), TinyLlamaModel::forward_cpu_batch_generation(), tinyllama::TinyLlamaSession::generate(), TinyLlamaModel::initialize_gpu_and_rope(), TinyLlamaModel::initialize_rope_freqs(), ember_ir::ir_rope_at_cuda(), ember_ir::ir_rope_rows_at_cuda(), rope_and_update_kv_cache_cuda(), rope_and_update_kv_cache_kernel(), rope_cuda(), rope_devpos_kernel(), rope_kernel(), microtorch::llama3::split_words(), swa_visible_ranges(), update_kv_cache_cuda(), and update_kv_cache_kernel().
|
private |
Definition at line 419 of file graph_ir_recurrence.cpp.
| std::vector<int> sizes |
Definition at line 136 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Recurrence::compile(), ember_ir::Interpreter::run_nodes(), and ember_ir::cpu::split_groups().
Definition at line 182 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::build_ir_from_gguf(), ember_ir::cpu::conv1d_causal_row(), ember_ir::rec::Recurrence::init(), ember_ir::ir_conv1d_causal_cuda(), ember_ir::ir_embedding_state_cuda(), and ember_ir::rec::Recurrence::step().
| std::vector<size_t> strides |
Definition at line 137 of file graph_ir_recurrence.cpp.
|
private |
Definition at line 416 of file graph_ir_recurrence.cpp.
| int tensor = -1 |
Definition at line 143 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::Interpreter::rec_tensor(), and ember_ir::Interpreter::recurrent_values().
| std::string text |
Definition at line 42 of file graph_ir_recurrence.cpp.
| std::vector<Token> toks |
Definition at line 148 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Recurrence::compile().
| float v = 0.0f |
Definition at line 125 of file graph_ir_recurrence.cpp.
Definition at line 182 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Recurrence::init(), and ember_ir::rec::Recurrence::step().
| std::string where |
Definition at line 146 of file graph_ir_recurrence.cpp.
Referenced by ember_ir::rec::Recurrence::compile().
|
private |
Definition at line 418 of file graph_ir_recurrence.cpp.