Class: GPT2KVBlockFFIMetal

Inherits:
Object
  • Object
show all
Defined in:
lib/toy/llm/engine/gpt2_kv_engine_metal.rb

Overview

Per-block persistent tensor handles. Includes per-head K/V buffers alongside the standard GPT-2 weights.

Instance Attribute Summary collapse

Instance Method Summary collapse

Constructor Details

#initializeGPT2KVBlockFFIMetal

Returns a new instance of GPT2KVBlockFFIMetal.



36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 36

def initialize
  @t_ln1_gamma = TinyNNMetal.tnn_null_ptr
  @t_ln1_beta  = TinyNNMetal.tnn_null_ptr
  @t_ln2_gamma = TinyNNMetal.tnn_null_ptr
  @t_ln2_beta  = TinyNNMetal.tnn_null_ptr
  @t_w_q = [TinyNNMetal.tnn_null_ptr]
  @t_w_k = [TinyNNMetal.tnn_null_ptr]
  @t_w_v = [TinyNNMetal.tnn_null_ptr]
  @t_b_q = [TinyNNMetal.tnn_null_ptr]
  @t_b_k = [TinyNNMetal.tnn_null_ptr]
  @t_b_v = [TinyNNMetal.tnn_null_ptr]
  @t_K   = [TinyNNMetal.tnn_null_ptr]
  @t_V   = [TinyNNMetal.tnn_null_ptr]
  @t_w_o   = TinyNNMetal.tnn_null_ptr
  @t_b_o   = TinyNNMetal.tnn_null_ptr
  @t_w_ff1 = TinyNNMetal.tnn_null_ptr
  @t_b_ff1 = TinyNNMetal.tnn_null_ptr
  @t_w_ff2 = TinyNNMetal.tnn_null_ptr
  @t_b_ff2 = TinyNNMetal.tnn_null_ptr
end

Instance Attribute Details

#t_b_ff1Object

Returns the value of attribute t_b_ff1.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_b_ff1
  @t_b_ff1
end

#t_b_ff2Object

Returns the value of attribute t_b_ff2.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_b_ff2
  @t_b_ff2
end

#t_b_kObject

Returns the value of attribute t_b_k.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_b_k
  @t_b_k
end

#t_b_oObject

Returns the value of attribute t_b_o.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_b_o
  @t_b_o
end

#t_b_qObject

Returns the value of attribute t_b_q.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_b_q
  @t_b_q
end

#t_b_vObject

Returns the value of attribute t_b_v.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_b_v
  @t_b_v
end

#t_KObject

Returns the value of attribute t_K.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_K
  @t_K
end

#t_ln1_betaObject

Returns the value of attribute t_ln1_beta.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_ln1_beta
  @t_ln1_beta
end

#t_ln1_gammaObject

Returns the value of attribute t_ln1_gamma.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_ln1_gamma
  @t_ln1_gamma
end

#t_ln2_betaObject

Returns the value of attribute t_ln2_beta.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_ln2_beta
  @t_ln2_beta
end

#t_ln2_gammaObject

Returns the value of attribute t_ln2_gamma.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_ln2_gamma
  @t_ln2_gamma
end

#t_VObject

Returns the value of attribute t_V.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_V
  @t_V
end

#t_w_ff1Object

Returns the value of attribute t_w_ff1.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_w_ff1
  @t_w_ff1
end

#t_w_ff2Object

Returns the value of attribute t_w_ff2.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_w_ff2
  @t_w_ff2
end

#t_w_kObject

Returns the value of attribute t_w_k.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_w_k
  @t_w_k
end

#t_w_oObject

Returns the value of attribute t_w_o.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_w_o
  @t_w_o
end

#t_w_qObject

Returns the value of attribute t_w_q.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_w_q
  @t_w_q
end

#t_w_vObject

Returns the value of attribute t_w_v.



28
29
30
# File 'lib/toy/llm/engine/gpt2_kv_engine_metal.rb', line 28

def t_w_v
  @t_w_v
end