Class: GPT2BlockFFI
- Inherits:
-
Object
- Object
- GPT2BlockFFI
- Defined in:
- lib/toy/llm/engine/gpt2_fwd_engine.rb
Overview
Per-block tensor handles. Distinct class from BlockFFICache (in lib/tinynn.rb) to avoid Spinel collapsing :ptr-array ivars across the two cache types.
Instance Attribute Summary collapse
-
#t_b_ff1 ⇒ Object
Returns the value of attribute t_b_ff1.
-
#t_b_ff2 ⇒ Object
Returns the value of attribute t_b_ff2.
-
#t_b_k ⇒ Object
Returns the value of attribute t_b_k.
-
#t_b_o ⇒ Object
Returns the value of attribute t_b_o.
-
#t_b_q ⇒ Object
Returns the value of attribute t_b_q.
-
#t_b_v ⇒ Object
Returns the value of attribute t_b_v.
-
#t_ln1_beta ⇒ Object
Returns the value of attribute t_ln1_beta.
-
#t_ln1_gamma ⇒ Object
Returns the value of attribute t_ln1_gamma.
-
#t_ln2_beta ⇒ Object
Returns the value of attribute t_ln2_beta.
-
#t_ln2_gamma ⇒ Object
Returns the value of attribute t_ln2_gamma.
-
#t_w_ff1 ⇒ Object
Returns the value of attribute t_w_ff1.
-
#t_w_ff2 ⇒ Object
Returns the value of attribute t_w_ff2.
-
#t_w_k ⇒ Object
Returns the value of attribute t_w_k.
-
#t_w_o ⇒ Object
Returns the value of attribute t_w_o.
-
#t_w_q ⇒ Object
Returns the value of attribute t_w_q.
-
#t_w_v ⇒ Object
Returns the value of attribute t_w_v.
Instance Method Summary collapse
-
#initialize ⇒ GPT2BlockFFI
constructor
A new instance of GPT2BlockFFI.
Constructor Details
#initialize ⇒ GPT2BlockFFI
Returns a new instance of GPT2BlockFFI.
36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 36 def initialize # Inline literal seed pattern (not `null = ...; [null]` — Spinel # loses :ptr typing through the local-var binding and re-types the # array as poly_array). @t_ln1_gamma = TinyNN.tnn_null_ptr @t_ln1_beta = TinyNN.tnn_null_ptr @t_ln2_gamma = TinyNN.tnn_null_ptr @t_ln2_beta = TinyNN.tnn_null_ptr @t_w_q = [TinyNN.tnn_null_ptr] @t_w_k = [TinyNN.tnn_null_ptr] @t_w_v = [TinyNN.tnn_null_ptr] @t_b_q = [TinyNN.tnn_null_ptr] @t_b_k = [TinyNN.tnn_null_ptr] @t_b_v = [TinyNN.tnn_null_ptr] @t_w_o = TinyNN.tnn_null_ptr @t_b_o = TinyNN.tnn_null_ptr @t_w_ff1 = TinyNN.tnn_null_ptr @t_b_ff1 = TinyNN.tnn_null_ptr @t_w_ff2 = TinyNN.tnn_null_ptr @t_b_ff2 = TinyNN.tnn_null_ptr end |
Instance Attribute Details
#t_b_ff1 ⇒ Object
Returns the value of attribute t_b_ff1.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_b_ff1 @t_b_ff1 end |
#t_b_ff2 ⇒ Object
Returns the value of attribute t_b_ff2.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_b_ff2 @t_b_ff2 end |
#t_b_k ⇒ Object
Returns the value of attribute t_b_k.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_b_k @t_b_k end |
#t_b_o ⇒ Object
Returns the value of attribute t_b_o.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_b_o @t_b_o end |
#t_b_q ⇒ Object
Returns the value of attribute t_b_q.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_b_q @t_b_q end |
#t_b_v ⇒ Object
Returns the value of attribute t_b_v.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_b_v @t_b_v end |
#t_ln1_beta ⇒ Object
Returns the value of attribute t_ln1_beta.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_ln1_beta @t_ln1_beta end |
#t_ln1_gamma ⇒ Object
Returns the value of attribute t_ln1_gamma.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_ln1_gamma @t_ln1_gamma end |
#t_ln2_beta ⇒ Object
Returns the value of attribute t_ln2_beta.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_ln2_beta @t_ln2_beta end |
#t_ln2_gamma ⇒ Object
Returns the value of attribute t_ln2_gamma.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_ln2_gamma @t_ln2_gamma end |
#t_w_ff1 ⇒ Object
Returns the value of attribute t_w_ff1.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_w_ff1 @t_w_ff1 end |
#t_w_ff2 ⇒ Object
Returns the value of attribute t_w_ff2.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_w_ff2 @t_w_ff2 end |
#t_w_k ⇒ Object
Returns the value of attribute t_w_k.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_w_k @t_w_k end |
#t_w_o ⇒ Object
Returns the value of attribute t_w_o.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_w_o @t_w_o end |
#t_w_q ⇒ Object
Returns the value of attribute t_w_q.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_w_q @t_w_q end |
#t_w_v ⇒ Object
Returns the value of attribute t_w_v.
29 30 31 |
# File 'lib/toy/llm/engine/gpt2_fwd_engine.rb', line 29 def t_w_v @t_w_v end |