ember.cpp 0.1.0
C++ inference engine for Llama-family and paperkiln models (CPU, CUDA, WebAssembly)
Loading...
Searching...
No Matches
graph_ir.cpp File Reference
#include "graph_ir.h"
#include <algorithm>
#include <charconv>
#include <cmath>
#include <cstdlib>
#include <cstring>
#include <fstream>
#include <limits>
#include <optional>
#include <set>
#include <sstream>
#include <stdexcept>
#include <tuple>
#include <type_traits>
#include <variant>
#include "cpu_attention.h"
#include "determinism.h"
#include "gguf_structs.h"
#include "graph_ir_expr.h"
#include "graph_ir_mamba.h"
#include "graph_ir_ops.h"
#include "graph_ir_recurrence.h"
#include "graph_ir_validate.h"
#include "ir_digest.h"
#include "kv_quant.h"
#include "logger.h"
#include "quantization.h"
#include "utils.h"
#include "weight_management.h"
Include dependency graph for graph_ir.cpp:

Go to the source code of this file.

Namespaces

namespace  ember_ir
 

Functions

void ember_ir::linear_attention_row_cpu (const float *q, const float *k, const float *v, float *num, float *den, float *out, int width, float den_floor)
 
void ember_ir::ssm_scan_row_cpu (const float *u, const float *A, const float *B, const float *C, float D, float *s, float *scratch, float *y, int n)
 
bool ember_ir::has_recurrent_state (const std::string &ir_json)
 
bool ember_ir::has_windowed_attention (const std::string &ir_json)
 
bool ember_ir::has_state_tokens (const std::string &ir_json)
 
bool ember_ir::tuned_llama_match (const std::string &ir_json, const GGUFData &gguf, std::string *why)
 
bool ember_ir::device_supported (const std::string &ir_json)
 
bool ember_ir::has_ir_builder (const std::string &arch)
 
std::string ember_ir::find_ir (const GGUFData &gguf)
 
std::string ember_ir::build_ir_from_gguf (const GGUFData &g, bool log)
 
static void ember_ir::cpu_only (bool gpu, const char *what)
 

Variable Documentation

◆ cfg_

const ModelConfig cfg_
private

Definition at line 432 of file graph_ir.cpp.

◆ d_

int d_ = 0
private

Definition at line 435 of file graph_ir.cpp.

◆ doc_

const json& doc_
private

Definition at line 431 of file graph_ir.cpp.

◆ H_

int H_ = 0
private

Definition at line 435 of file graph_ir.cpp.

◆ hd_

int hd_ = 0
private

Definition at line 435 of file graph_ir.cpp.

◆ KV_

int KV_ = 0
private

Definition at line 435 of file graph_ir.cpp.

◆ role_

std::map<std::string, std::string> role_ = {{"tokens", "tokens"}, {"pos", "pos"}}
private

Definition at line 433 of file graph_ir.cpp.

433{{"tokens", "tokens"}, {"pos", "pos"}};

◆ slot_

std::string slot_
private

Definition at line 434 of file graph_ir.cpp.

◆ why

◆ x_

std::string x_
private

Definition at line 434 of file graph_ir.cpp.