whispercpp 1.3.2 → 1.3.3

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (244) hide show
  1. checksums.yaml +4 -4
  2. data/.gitignore +6 -3
  3. data/README.md +71 -14
  4. data/Rakefile +20 -7
  5. data/ext/.gitignore +4 -6
  6. data/ext/dependencies.rb +36 -24
  7. data/ext/extconf.rb +1 -1
  8. data/ext/options.rb +48 -184
  9. data/ext/ruby_whisper.c +18 -0
  10. data/ext/ruby_whisper_context.c +43 -12
  11. data/ext/ruby_whisper_model.c +1 -1
  12. data/ext/ruby_whisper_params.c +4 -2
  13. data/ext/ruby_whisper_segment.c +81 -4
  14. data/ext/ruby_whisper_transcribe.cpp +13 -7
  15. data/ext/ruby_whisper_vad_params.c +1 -1
  16. data/ext/sources/CMakeLists.txt +5 -1
  17. data/ext/sources/bindings/javascript/package.json +1 -1
  18. data/ext/sources/examples/addon.node/__test__/whisper.spec.js +120 -24
  19. data/ext/sources/examples/addon.node/addon.cpp +150 -31
  20. data/ext/sources/examples/addon.node/index.js +3 -0
  21. data/ext/sources/examples/addon.node/vad-example.js +132 -0
  22. data/ext/sources/examples/bench/bench.cpp +3 -2
  23. data/ext/sources/examples/cli/cli.cpp +3 -2
  24. data/ext/sources/examples/command/command.cpp +32 -8
  25. data/ext/sources/examples/common-whisper.cpp +14 -7
  26. data/ext/sources/examples/lsp/lsp.cpp +2 -0
  27. data/ext/sources/examples/quantize/quantize.cpp +3 -0
  28. data/ext/sources/examples/server/CMakeLists.txt +3 -0
  29. data/ext/sources/examples/server/server.cpp +169 -22
  30. data/ext/sources/examples/stream/stream.cpp +6 -0
  31. data/ext/sources/examples/talk-llama/CMakeLists.txt +4 -1
  32. data/ext/sources/examples/talk-llama/llama-arch.cpp +171 -3
  33. data/ext/sources/examples/talk-llama/llama-arch.h +28 -1
  34. data/ext/sources/examples/talk-llama/llama-batch.cpp +741 -272
  35. data/ext/sources/examples/talk-llama/llama-batch.h +112 -54
  36. data/ext/sources/examples/talk-llama/llama-chat.cpp +30 -8
  37. data/ext/sources/examples/talk-llama/llama-chat.h +1 -0
  38. data/ext/sources/examples/talk-llama/llama-context.cpp +520 -351
  39. data/ext/sources/examples/talk-llama/llama-context.h +38 -17
  40. data/ext/sources/examples/talk-llama/llama-cparams.cpp +1 -1
  41. data/ext/sources/examples/talk-llama/llama-cparams.h +1 -1
  42. data/ext/sources/examples/talk-llama/llama-graph.cpp +447 -372
  43. data/ext/sources/examples/talk-llama/llama-graph.h +128 -58
  44. data/ext/sources/examples/talk-llama/llama-hparams.cpp +10 -2
  45. data/ext/sources/examples/talk-llama/llama-hparams.h +19 -2
  46. data/ext/sources/examples/talk-llama/llama-kv-cache-unified-iswa.cpp +279 -0
  47. data/ext/sources/examples/talk-llama/llama-kv-cache-unified-iswa.h +128 -0
  48. data/ext/sources/examples/talk-llama/llama-kv-cache-unified.cpp +1841 -0
  49. data/ext/sources/examples/talk-llama/llama-kv-cache-unified.h +303 -0
  50. data/ext/sources/examples/talk-llama/llama-kv-cache.h +14 -472
  51. data/ext/sources/examples/talk-llama/llama-kv-cells.h +86 -26
  52. data/ext/sources/examples/talk-llama/llama-memory-hybrid.cpp +246 -0
  53. data/ext/sources/examples/talk-llama/llama-memory-hybrid.h +138 -0
  54. data/ext/sources/examples/talk-llama/llama-memory-recurrent.cpp +1125 -0
  55. data/ext/sources/examples/talk-llama/llama-memory-recurrent.h +183 -0
  56. data/ext/sources/examples/talk-llama/llama-memory.cpp +58 -0
  57. data/ext/sources/examples/talk-llama/llama-memory.h +88 -4
  58. data/ext/sources/examples/talk-llama/llama-mmap.cpp +1 -1
  59. data/ext/sources/examples/talk-llama/llama-model-loader.cpp +42 -17
  60. data/ext/sources/examples/talk-llama/llama-model-saver.cpp +1 -0
  61. data/ext/sources/examples/talk-llama/llama-model.cpp +1863 -563
  62. data/ext/sources/examples/talk-llama/llama-model.h +27 -0
  63. data/ext/sources/examples/talk-llama/llama-quant.cpp +89 -6
  64. data/ext/sources/examples/talk-llama/llama-vocab.cpp +65 -28
  65. data/ext/sources/examples/talk-llama/llama-vocab.h +1 -0
  66. data/ext/sources/examples/talk-llama/llama.cpp +11 -7
  67. data/ext/sources/examples/talk-llama/llama.h +147 -40
  68. data/ext/sources/examples/talk-llama/talk-llama.cpp +2 -0
  69. data/ext/sources/examples/talk-llama/unicode.cpp +5 -0
  70. data/ext/sources/examples/vad-speech-segments/speech.cpp +6 -0
  71. data/ext/sources/examples/wchess/wchess.cmd/wchess.cmd.cpp +2 -0
  72. data/ext/sources/ggml/CMakeLists.txt +48 -3
  73. data/ext/sources/ggml/cmake/common.cmake +24 -0
  74. data/ext/sources/ggml/include/ggml-backend.h +1 -1
  75. data/ext/sources/ggml/include/ggml-cpu.h +2 -0
  76. data/ext/sources/ggml/include/ggml.h +144 -5
  77. data/ext/sources/ggml/src/CMakeLists.txt +82 -24
  78. data/ext/sources/ggml/src/ggml-backend-reg.cpp +5 -0
  79. data/ext/sources/ggml/src/ggml-backend.cpp +46 -23
  80. data/ext/sources/ggml/src/ggml-blas/CMakeLists.txt +3 -3
  81. data/ext/sources/ggml/src/ggml-cann/CMakeLists.txt +1 -0
  82. data/ext/sources/ggml/src/ggml-cann/common.h +6 -1
  83. data/ext/sources/ggml/src/ggml-cann/ggml-cann.cpp +33 -9
  84. data/ext/sources/ggml/src/ggml-common.h +4 -0
  85. data/ext/sources/ggml/src/ggml-cpu/CMakeLists.txt +133 -40
  86. data/ext/sources/ggml/src/ggml-cpu/amx/amx.cpp +1 -1
  87. data/ext/sources/ggml/src/ggml-cpu/amx/mmq.cpp +11 -10
  88. data/ext/sources/ggml/src/ggml-cpu/arch/arm/cpu-feats.cpp +94 -0
  89. data/ext/sources/ggml/src/ggml-cpu/arch/arm/quants.c +4114 -0
  90. data/ext/sources/ggml/src/ggml-cpu/arch/arm/repack.cpp +2163 -0
  91. data/ext/sources/ggml/src/ggml-cpu/arch/loongarch/quants.c +2639 -0
  92. data/ext/sources/ggml/src/ggml-cpu/arch/powerpc/cpu-feats.cpp +82 -0
  93. data/ext/sources/ggml/src/ggml-cpu/arch/powerpc/quants.c +2732 -0
  94. data/ext/sources/ggml/src/ggml-cpu/arch/riscv/quants.c +2069 -0
  95. data/ext/sources/ggml/src/ggml-cpu/arch/riscv/repack.cpp +397 -0
  96. data/ext/sources/ggml/src/ggml-cpu/arch/s390/quants.c +1300 -0
  97. data/ext/sources/ggml/src/ggml-cpu/arch/wasm/quants.c +1481 -0
  98. data/ext/sources/ggml/src/ggml-cpu/arch/x86/quants.c +4311 -0
  99. data/ext/sources/ggml/src/ggml-cpu/{ggml-cpu-aarch64.cpp → arch/x86/repack.cpp} +79 -3225
  100. data/ext/sources/ggml/src/ggml-cpu/arch-fallback.h +184 -0
  101. data/ext/sources/ggml/src/ggml-cpu/common.h +4 -3
  102. data/ext/sources/ggml/src/ggml-cpu/ggml-cpu-impl.h +16 -7
  103. data/ext/sources/ggml/src/ggml-cpu/ggml-cpu.c +146 -105
  104. data/ext/sources/ggml/src/ggml-cpu/ggml-cpu.cpp +12 -8
  105. data/ext/sources/ggml/src/ggml-cpu/{ggml-cpu-hbm.cpp → hbm.cpp} +1 -1
  106. data/ext/sources/ggml/src/ggml-cpu/kleidiai/kleidiai.cpp +1 -1
  107. data/ext/sources/ggml/src/ggml-cpu/llamafile/sgemm.cpp +58 -8
  108. data/ext/sources/ggml/src/ggml-cpu/llamafile/sgemm.h +5 -0
  109. data/ext/sources/ggml/src/ggml-cpu/ops.cpp +1057 -174
  110. data/ext/sources/ggml/src/ggml-cpu/ops.h +8 -0
  111. data/ext/sources/ggml/src/ggml-cpu/quants.c +1158 -0
  112. data/ext/sources/ggml/src/ggml-cpu/{ggml-cpu-quants.h → quants.h} +26 -0
  113. data/ext/sources/ggml/src/ggml-cpu/repack.cpp +1571 -0
  114. data/ext/sources/ggml/src/ggml-cpu/repack.h +98 -0
  115. data/ext/sources/ggml/src/ggml-cpu/simd-mappings.h +330 -38
  116. data/ext/sources/ggml/src/ggml-cpu/{ggml-cpu-traits.cpp → traits.cpp} +1 -1
  117. data/ext/sources/ggml/src/ggml-cpu/vec.cpp +111 -18
  118. data/ext/sources/ggml/src/ggml-cpu/vec.h +303 -94
  119. data/ext/sources/ggml/src/ggml-cuda/common.cuh +60 -37
  120. data/ext/sources/ggml/src/ggml-cuda/conv2d-dw.cu +161 -0
  121. data/ext/sources/ggml/src/ggml-cuda/conv2d-dw.cuh +5 -0
  122. data/ext/sources/ggml/src/ggml-cuda/conv2d-transpose.cu +91 -0
  123. data/ext/sources/ggml/src/ggml-cuda/conv2d-transpose.cuh +4 -0
  124. data/ext/sources/ggml/src/ggml-cuda/convert.cu +22 -0
  125. data/ext/sources/ggml/src/ggml-cuda/convert.cuh +5 -0
  126. data/ext/sources/ggml/src/ggml-cuda/fattn-common.cuh +2 -2
  127. data/ext/sources/ggml/src/ggml-cuda/fattn-mma-f16.cuh +5 -2
  128. data/ext/sources/ggml/src/ggml-cuda/fattn-wmma-f16.cu +4 -0
  129. data/ext/sources/ggml/src/ggml-cuda/ggml-cuda.cu +265 -123
  130. data/ext/sources/ggml/src/ggml-cuda/mean.cu +19 -0
  131. data/ext/sources/ggml/src/ggml-cuda/mean.cuh +3 -0
  132. data/ext/sources/ggml/src/ggml-cuda/mmv.cu +257 -87
  133. data/ext/sources/ggml/src/ggml-cuda/mmv.cuh +2 -3
  134. data/ext/sources/ggml/src/ggml-cuda/ssm-scan.cu +6 -4
  135. data/ext/sources/ggml/src/ggml-cuda/sumrows.cu +5 -18
  136. data/ext/sources/ggml/src/ggml-cuda/sumrows.cuh +0 -1
  137. data/ext/sources/ggml/src/ggml-cuda/unary.cu +89 -0
  138. data/ext/sources/ggml/src/ggml-cuda/unary.cuh +7 -0
  139. data/ext/sources/ggml/src/ggml-hip/CMakeLists.txt +4 -0
  140. data/ext/sources/ggml/src/ggml-impl.h +127 -183
  141. data/ext/sources/ggml/src/ggml-metal/CMakeLists.txt +11 -10
  142. data/ext/sources/ggml/src/ggml-metal/ggml-metal-impl.h +27 -0
  143. data/ext/sources/ggml/src/ggml-metal/ggml-metal.m +331 -49
  144. data/ext/sources/ggml/src/ggml-metal/ggml-metal.metal +564 -282
  145. data/ext/sources/ggml/src/ggml-musa/mudnn.cuh +2 -2
  146. data/ext/sources/ggml/src/ggml-opencl/CMakeLists.txt +14 -0
  147. data/ext/sources/ggml/src/ggml-opencl/ggml-opencl.cpp +1859 -489
  148. data/ext/sources/ggml/src/ggml-opencl/kernels/argsort.cl +86 -0
  149. data/ext/sources/ggml/src/ggml-opencl/kernels/concat.cl +109 -0
  150. data/ext/sources/ggml/src/ggml-opencl/kernels/div.cl +72 -0
  151. data/ext/sources/ggml/src/ggml-opencl/kernels/glu.cl +201 -0
  152. data/ext/sources/ggml/src/ggml-opencl/kernels/group_norm.cl +72 -0
  153. data/ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_id_q4_0_f32_8x_flat.cl +283 -0
  154. data/ext/sources/ggml/src/ggml-opencl/kernels/pad.cl +30 -0
  155. data/ext/sources/ggml/src/ggml-opencl/kernels/repeat.cl +39 -0
  156. data/ext/sources/ggml/src/ggml-opencl/kernels/sigmoid.cl +29 -0
  157. data/ext/sources/ggml/src/ggml-opencl/kernels/sub.cl +72 -0
  158. data/ext/sources/ggml/src/ggml-opencl/kernels/sum_rows.cl +39 -0
  159. data/ext/sources/ggml/src/ggml-opencl/kernels/tanh.cl +63 -0
  160. data/ext/sources/ggml/src/ggml-opencl/kernels/tsembd.cl +48 -0
  161. data/ext/sources/ggml/src/ggml-opencl/kernels/upscale.cl +121 -0
  162. data/ext/sources/ggml/src/ggml-quants.c +6 -8
  163. data/ext/sources/ggml/src/ggml-rpc/ggml-rpc.cpp +18 -15
  164. data/ext/sources/ggml/src/ggml-sycl/CMakeLists.txt +3 -3
  165. data/ext/sources/ggml/src/ggml-sycl/binbcast.cpp +5 -6
  166. data/ext/sources/ggml/src/ggml-sycl/common.hpp +20 -48
  167. data/ext/sources/ggml/src/ggml-sycl/concat.cpp +28 -41
  168. data/ext/sources/ggml/src/ggml-sycl/conv.cpp +4 -10
  169. data/ext/sources/ggml/src/ggml-sycl/convert.cpp +117 -165
  170. data/ext/sources/ggml/src/ggml-sycl/cpy.cpp +192 -53
  171. data/ext/sources/ggml/src/ggml-sycl/dequantize.hpp +32 -0
  172. data/ext/sources/ggml/src/ggml-sycl/dmmv.cpp +49 -67
  173. data/ext/sources/ggml/src/ggml-sycl/dpct/helper.hpp +31 -1
  174. data/ext/sources/ggml/src/ggml-sycl/element_wise.cpp +648 -1039
  175. data/ext/sources/ggml/src/ggml-sycl/element_wise.hpp +18 -9
  176. data/ext/sources/ggml/src/ggml-sycl/gemm.hpp +3 -0
  177. data/ext/sources/ggml/src/ggml-sycl/getrows.cpp +8 -105
  178. data/ext/sources/ggml/src/ggml-sycl/ggml-sycl.cpp +238 -100
  179. data/ext/sources/ggml/src/ggml-sycl/gla.cpp +2 -2
  180. data/ext/sources/ggml/src/ggml-sycl/im2col.cpp +1 -1
  181. data/ext/sources/ggml/src/ggml-sycl/mmq.cpp +60 -80
  182. data/ext/sources/ggml/src/ggml-sycl/mmvq.cpp +158 -203
  183. data/ext/sources/ggml/src/ggml-sycl/norm.cpp +55 -74
  184. data/ext/sources/ggml/src/ggml-sycl/quants.hpp +38 -10
  185. data/ext/sources/ggml/src/ggml-sycl/rope.cpp +138 -27
  186. data/ext/sources/ggml/src/ggml-sycl/softmax.cpp +3 -3
  187. data/ext/sources/ggml/src/ggml-sycl/sycl_hw.cpp +3 -1
  188. data/ext/sources/ggml/src/ggml-sycl/sycl_hw.hpp +3 -0
  189. data/ext/sources/ggml/src/ggml-sycl/tsembd.cpp +3 -8
  190. data/ext/sources/ggml/src/ggml-sycl/vecdotq.hpp +108 -16
  191. data/ext/sources/ggml/src/ggml-sycl/wkv.cpp +12 -16
  192. data/ext/sources/ggml/src/ggml-vulkan/CMakeLists.txt +36 -32
  193. data/ext/sources/ggml/src/ggml-vulkan/ggml-vulkan.cpp +726 -282
  194. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/CMakeLists.txt +4 -12
  195. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/conv_transpose_1d.comp +98 -0
  196. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp +13 -0
  197. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/glu_head.comp +15 -0
  198. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/glu_main.comp +29 -0
  199. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/reglu.comp +9 -0
  200. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/rms_norm.comp +12 -3
  201. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/swiglu.comp +9 -0
  202. data/ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/vulkan-shaders-gen.cpp +10 -1
  203. data/ext/sources/ggml/src/ggml.c +328 -48
  204. data/ext/sources/ggml/src/ggml.cpp +26 -0
  205. data/ext/sources/ggml/src/gguf.cpp +24 -3
  206. data/ext/sources/include/whisper.h +2 -0
  207. data/ext/sources/src/CMakeLists.txt +2 -0
  208. data/ext/sources/src/coreml/whisper-compat.h +10 -0
  209. data/ext/sources/src/coreml/whisper-compat.m +35 -0
  210. data/ext/sources/src/coreml/whisper-decoder-impl.m +1 -0
  211. data/ext/sources/src/coreml/whisper-encoder-impl.m +1 -0
  212. data/ext/sources/src/whisper.cpp +218 -169
  213. data/extsources.rb +15 -9
  214. data/lib/whisper/context.rb +15 -0
  215. data/lib/whisper/model/uri.rb +56 -1
  216. data/lib/whisper/segment.rb +58 -0
  217. data/sig/whisper.rbs +68 -38
  218. data/{tests → test}/helper.rb +1 -12
  219. data/{tests → test}/test_model.rb +9 -0
  220. data/test/test_package.rb +51 -0
  221. data/test/test_segment.rb +146 -0
  222. data/{tests → test}/test_whisper.rb +70 -0
  223. data/whispercpp.gemspec +2 -3
  224. metadata +91 -43
  225. data/ext/sources/.dockerignore +0 -3
  226. data/ext/sources/.github/workflows/bindings-ruby.yml +0 -21
  227. data/ext/sources/ci/run.sh +0 -336
  228. data/ext/sources/close-issue.yml +0 -28
  229. data/ext/sources/examples/talk-llama/llama-kv-cache.cpp +0 -2739
  230. data/ext/sources/ggml/src/ggml-cpu/ggml-cpu-aarch64.h +0 -8
  231. data/ext/sources/ggml/src/ggml-cpu/ggml-cpu-quants.c +0 -13747
  232. data/tests/test_package.rb +0 -46
  233. data/tests/test_segment.rb +0 -74
  234. /data/ext/sources/ggml/src/ggml-cpu/{cpu-feats-x86.cpp → arch/x86/cpu-feats.cpp} +0 -0
  235. /data/ext/sources/ggml/src/ggml-cpu/{ggml-cpu-hbm.h → hbm.h} +0 -0
  236. /data/ext/sources/ggml/src/ggml-cpu/{ggml-cpu-traits.h → traits.h} +0 -0
  237. /data/{tests → test}/jfk_reader/.gitignore +0 -0
  238. /data/{tests → test}/jfk_reader/extconf.rb +0 -0
  239. /data/{tests → test}/jfk_reader/jfk_reader.c +0 -0
  240. /data/{tests → test}/test_callback.rb +0 -0
  241. /data/{tests → test}/test_error.rb +0 -0
  242. /data/{tests → test}/test_params.rb +0 -0
  243. /data/{tests → test}/test_vad.rb +0 -0
  244. /data/{tests → test}/test_vad_params.rb +0 -0
data/whispercpp.gemspec CHANGED
@@ -3,8 +3,7 @@ require_relative "extsources"
3
3
  Gem::Specification.new do |s|
4
4
  s.name = "whispercpp"
5
5
  s.authors = ["Georgi Gerganov", "Todd A. Fisher"]
6
- s.version = '1.3.2'
7
- s.date = '2025-05-11'
6
+ s.version = '1.3.3'
8
7
  s.description = %q{High-performance inference of OpenAI's Whisper automatic speech recognition (ASR) model via Ruby}
9
8
  s.email = 'todd.fisher@gmail.com'
10
9
  s.extra_rdoc_files = ['LICENSE', 'README.md']
@@ -21,7 +20,7 @@ Gem::Specification.new do |s|
21
20
  }
22
21
 
23
22
  s.summary = %q{Ruby whisper.cpp bindings}
24
- s.test_files = s.files.select {|file| file.start_with? "tests/"}
23
+ s.test_files = s.files.select {|file| file.start_with? "test/"}
25
24
 
26
25
  s.extensions << 'ext/extconf.rb'
27
26
  s.required_ruby_version = '>= 3.1.0'
metadata CHANGED
@@ -1,7 +1,7 @@
1
1
  --- !ruby/object:Gem::Specification
2
2
  name: whispercpp
3
3
  version: !ruby/object:Gem::Version
4
- version: 1.3.2
4
+ version: 1.3.3
5
5
  platform: ruby
6
6
  authors:
7
7
  - Georgi Gerganov
@@ -9,7 +9,7 @@ authors:
9
9
  autorequire:
10
10
  bindir: bin
11
11
  cert_chain: []
12
- date: 2025-05-11 00:00:00.000000000 Z
12
+ date: 2025-07-12 00:00:00.000000000 Z
13
13
  dependencies: []
14
14
  description: High-performance inference of OpenAI's Whisper automatic speech recognition
15
15
  (ASR) model via Ruby
@@ -38,8 +38,6 @@ files:
38
38
  - ext/ruby_whisper_segment.c
39
39
  - ext/ruby_whisper_transcribe.cpp
40
40
  - ext/ruby_whisper_vad_params.c
41
- - ext/sources/.dockerignore
42
- - ext/sources/.github/workflows/bindings-ruby.yml
43
41
  - ext/sources/CMakeGraphVizOptions.cmake
44
42
  - ext/sources/CMakeLists.txt
45
43
  - ext/sources/bindings/javascript/CMakeLists.txt
@@ -49,8 +47,6 @@ files:
49
47
  - ext/sources/bindings/javascript/package.json
50
48
  - ext/sources/bindings/javascript/whisper.js
51
49
  - ext/sources/build-xcframework.sh
52
- - ext/sources/ci/run.sh
53
- - ext/sources/close-issue.yml
54
50
  - ext/sources/cmake/DefaultTargetOptions.cmake
55
51
  - ext/sources/cmake/FindFFmpeg.cmake
56
52
  - ext/sources/cmake/build-info.cmake
@@ -63,6 +59,7 @@ files:
63
59
  - ext/sources/examples/addon.node/addon.cpp
64
60
  - ext/sources/examples/addon.node/index.js
65
61
  - ext/sources/examples/addon.node/package.json
62
+ - ext/sources/examples/addon.node/vad-example.js
66
63
  - ext/sources/examples/bench.wasm/CMakeLists.txt
67
64
  - ext/sources/examples/bench.wasm/emscripten.cpp
68
65
  - ext/sources/examples/bench.wasm/index-tmpl.html
@@ -141,9 +138,16 @@ files:
141
138
  - ext/sources/examples/talk-llama/llama-impl.h
142
139
  - ext/sources/examples/talk-llama/llama-io.cpp
143
140
  - ext/sources/examples/talk-llama/llama-io.h
144
- - ext/sources/examples/talk-llama/llama-kv-cache.cpp
141
+ - ext/sources/examples/talk-llama/llama-kv-cache-unified-iswa.cpp
142
+ - ext/sources/examples/talk-llama/llama-kv-cache-unified-iswa.h
143
+ - ext/sources/examples/talk-llama/llama-kv-cache-unified.cpp
144
+ - ext/sources/examples/talk-llama/llama-kv-cache-unified.h
145
145
  - ext/sources/examples/talk-llama/llama-kv-cache.h
146
146
  - ext/sources/examples/talk-llama/llama-kv-cells.h
147
+ - ext/sources/examples/talk-llama/llama-memory-hybrid.cpp
148
+ - ext/sources/examples/talk-llama/llama-memory-hybrid.h
149
+ - ext/sources/examples/talk-llama/llama-memory-recurrent.cpp
150
+ - ext/sources/examples/talk-llama/llama-memory-recurrent.h
147
151
  - ext/sources/examples/talk-llama/llama-memory.cpp
148
152
  - ext/sources/examples/talk-llama/llama-memory.h
149
153
  - ext/sources/examples/talk-llama/llama-mmap.cpp
@@ -243,22 +247,29 @@ files:
243
247
  - ext/sources/ggml/src/ggml-cpu/amx/common.h
244
248
  - ext/sources/ggml/src/ggml-cpu/amx/mmq.cpp
245
249
  - ext/sources/ggml/src/ggml-cpu/amx/mmq.h
250
+ - ext/sources/ggml/src/ggml-cpu/arch-fallback.h
251
+ - ext/sources/ggml/src/ggml-cpu/arch/arm/cpu-feats.cpp
252
+ - ext/sources/ggml/src/ggml-cpu/arch/arm/quants.c
253
+ - ext/sources/ggml/src/ggml-cpu/arch/arm/repack.cpp
254
+ - ext/sources/ggml/src/ggml-cpu/arch/loongarch/quants.c
255
+ - ext/sources/ggml/src/ggml-cpu/arch/powerpc/cpu-feats.cpp
256
+ - ext/sources/ggml/src/ggml-cpu/arch/powerpc/quants.c
257
+ - ext/sources/ggml/src/ggml-cpu/arch/riscv/quants.c
258
+ - ext/sources/ggml/src/ggml-cpu/arch/riscv/repack.cpp
259
+ - ext/sources/ggml/src/ggml-cpu/arch/s390/quants.c
260
+ - ext/sources/ggml/src/ggml-cpu/arch/wasm/quants.c
261
+ - ext/sources/ggml/src/ggml-cpu/arch/x86/cpu-feats.cpp
262
+ - ext/sources/ggml/src/ggml-cpu/arch/x86/quants.c
263
+ - ext/sources/ggml/src/ggml-cpu/arch/x86/repack.cpp
246
264
  - ext/sources/ggml/src/ggml-cpu/binary-ops.cpp
247
265
  - ext/sources/ggml/src/ggml-cpu/binary-ops.h
248
266
  - ext/sources/ggml/src/ggml-cpu/cmake/FindSIMD.cmake
249
267
  - ext/sources/ggml/src/ggml-cpu/common.h
250
- - ext/sources/ggml/src/ggml-cpu/cpu-feats-x86.cpp
251
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-aarch64.cpp
252
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-aarch64.h
253
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-hbm.cpp
254
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-hbm.h
255
268
  - ext/sources/ggml/src/ggml-cpu/ggml-cpu-impl.h
256
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-quants.c
257
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-quants.h
258
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-traits.cpp
259
- - ext/sources/ggml/src/ggml-cpu/ggml-cpu-traits.h
260
269
  - ext/sources/ggml/src/ggml-cpu/ggml-cpu.c
261
270
  - ext/sources/ggml/src/ggml-cpu/ggml-cpu.cpp
271
+ - ext/sources/ggml/src/ggml-cpu/hbm.cpp
272
+ - ext/sources/ggml/src/ggml-cpu/hbm.h
262
273
  - ext/sources/ggml/src/ggml-cpu/kleidiai/kernels.cpp
263
274
  - ext/sources/ggml/src/ggml-cpu/kleidiai/kernels.h
264
275
  - ext/sources/ggml/src/ggml-cpu/kleidiai/kleidiai.cpp
@@ -267,7 +278,13 @@ files:
267
278
  - ext/sources/ggml/src/ggml-cpu/llamafile/sgemm.h
268
279
  - ext/sources/ggml/src/ggml-cpu/ops.cpp
269
280
  - ext/sources/ggml/src/ggml-cpu/ops.h
281
+ - ext/sources/ggml/src/ggml-cpu/quants.c
282
+ - ext/sources/ggml/src/ggml-cpu/quants.h
283
+ - ext/sources/ggml/src/ggml-cpu/repack.cpp
284
+ - ext/sources/ggml/src/ggml-cpu/repack.h
270
285
  - ext/sources/ggml/src/ggml-cpu/simd-mappings.h
286
+ - ext/sources/ggml/src/ggml-cpu/traits.cpp
287
+ - ext/sources/ggml/src/ggml-cpu/traits.h
271
288
  - ext/sources/ggml/src/ggml-cpu/unary-ops.cpp
272
289
  - ext/sources/ggml/src/ggml-cpu/unary-ops.h
273
290
  - ext/sources/ggml/src/ggml-cpu/vec.cpp
@@ -290,6 +307,10 @@ files:
290
307
  - ext/sources/ggml/src/ggml-cuda/concat.cuh
291
308
  - ext/sources/ggml/src/ggml-cuda/conv-transpose-1d.cu
292
309
  - ext/sources/ggml/src/ggml-cuda/conv-transpose-1d.cuh
310
+ - ext/sources/ggml/src/ggml-cuda/conv2d-dw.cu
311
+ - ext/sources/ggml/src/ggml-cuda/conv2d-dw.cuh
312
+ - ext/sources/ggml/src/ggml-cuda/conv2d-transpose.cu
313
+ - ext/sources/ggml/src/ggml-cuda/conv2d-transpose.cuh
293
314
  - ext/sources/ggml/src/ggml-cuda/convert.cu
294
315
  - ext/sources/ggml/src/ggml-cuda/convert.cuh
295
316
  - ext/sources/ggml/src/ggml-cuda/count-equal.cu
@@ -321,6 +342,8 @@ files:
321
342
  - ext/sources/ggml/src/ggml-cuda/gla.cuh
322
343
  - ext/sources/ggml/src/ggml-cuda/im2col.cu
323
344
  - ext/sources/ggml/src/ggml-cuda/im2col.cuh
345
+ - ext/sources/ggml/src/ggml-cuda/mean.cu
346
+ - ext/sources/ggml/src/ggml-cuda/mean.cuh
324
347
  - ext/sources/ggml/src/ggml-cuda/mma.cuh
325
348
  - ext/sources/ggml/src/ggml-cuda/mmq.cu
326
349
  - ext/sources/ggml/src/ggml-cuda/mmq.cuh
@@ -541,15 +564,20 @@ files:
541
564
  - ext/sources/ggml/src/ggml-opencl/CMakeLists.txt
542
565
  - ext/sources/ggml/src/ggml-opencl/ggml-opencl.cpp
543
566
  - ext/sources/ggml/src/ggml-opencl/kernels/add.cl
567
+ - ext/sources/ggml/src/ggml-opencl/kernels/argsort.cl
544
568
  - ext/sources/ggml/src/ggml-opencl/kernels/clamp.cl
569
+ - ext/sources/ggml/src/ggml-opencl/kernels/concat.cl
545
570
  - ext/sources/ggml/src/ggml-opencl/kernels/cpy.cl
546
571
  - ext/sources/ggml/src/ggml-opencl/kernels/cvt.cl
547
572
  - ext/sources/ggml/src/ggml-opencl/kernels/diag_mask_inf.cl
573
+ - ext/sources/ggml/src/ggml-opencl/kernels/div.cl
548
574
  - ext/sources/ggml/src/ggml-opencl/kernels/embed_kernel.py
549
575
  - ext/sources/ggml/src/ggml-opencl/kernels/gelu.cl
550
576
  - ext/sources/ggml/src/ggml-opencl/kernels/gemv_noshuffle.cl
551
577
  - ext/sources/ggml/src/ggml-opencl/kernels/gemv_noshuffle_general.cl
552
578
  - ext/sources/ggml/src/ggml-opencl/kernels/get_rows.cl
579
+ - ext/sources/ggml/src/ggml-opencl/kernels/glu.cl
580
+ - ext/sources/ggml/src/ggml-opencl/kernels/group_norm.cl
553
581
  - ext/sources/ggml/src/ggml-opencl/kernels/im2col_f16.cl
554
582
  - ext/sources/ggml/src/ggml-opencl/kernels/im2col_f32.cl
555
583
  - ext/sources/ggml/src/ggml-opencl/kernels/mul.cl
@@ -559,6 +587,7 @@ files:
559
587
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_f16_f32_1row.cl
560
588
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_f16_f32_l4.cl
561
589
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_f32_f32.cl
590
+ - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_id_q4_0_f32_8x_flat.cl
562
591
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32.cl
563
592
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_1d_16x_flat.cl
564
593
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_1d_8x_flat.cl
@@ -566,16 +595,24 @@ files:
566
595
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_q4_0_f32_v.cl
567
596
  - ext/sources/ggml/src/ggml-opencl/kernels/mul_mv_q6_k.cl
568
597
  - ext/sources/ggml/src/ggml-opencl/kernels/norm.cl
598
+ - ext/sources/ggml/src/ggml-opencl/kernels/pad.cl
569
599
  - ext/sources/ggml/src/ggml-opencl/kernels/relu.cl
600
+ - ext/sources/ggml/src/ggml-opencl/kernels/repeat.cl
570
601
  - ext/sources/ggml/src/ggml-opencl/kernels/rms_norm.cl
571
602
  - ext/sources/ggml/src/ggml-opencl/kernels/rope.cl
572
603
  - ext/sources/ggml/src/ggml-opencl/kernels/scale.cl
604
+ - ext/sources/ggml/src/ggml-opencl/kernels/sigmoid.cl
573
605
  - ext/sources/ggml/src/ggml-opencl/kernels/silu.cl
574
606
  - ext/sources/ggml/src/ggml-opencl/kernels/softmax_4_f16.cl
575
607
  - ext/sources/ggml/src/ggml-opencl/kernels/softmax_4_f32.cl
576
608
  - ext/sources/ggml/src/ggml-opencl/kernels/softmax_f16.cl
577
609
  - ext/sources/ggml/src/ggml-opencl/kernels/softmax_f32.cl
610
+ - ext/sources/ggml/src/ggml-opencl/kernels/sub.cl
611
+ - ext/sources/ggml/src/ggml-opencl/kernels/sum_rows.cl
612
+ - ext/sources/ggml/src/ggml-opencl/kernels/tanh.cl
578
613
  - ext/sources/ggml/src/ggml-opencl/kernels/transpose.cl
614
+ - ext/sources/ggml/src/ggml-opencl/kernels/tsembd.cl
615
+ - ext/sources/ggml/src/ggml-opencl/kernels/upscale.cl
579
616
  - ext/sources/ggml/src/ggml-opt.cpp
580
617
  - ext/sources/ggml/src/ggml-quants.c
581
618
  - ext/sources/ggml/src/ggml-quants.h
@@ -644,6 +681,7 @@ files:
644
681
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/concat.comp
645
682
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/contig_copy.comp
646
683
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/conv2d_dw.comp
684
+ - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/conv_transpose_1d.comp
647
685
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/copy.comp
648
686
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/copy_from_quant.comp
649
687
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/copy_to_quant.comp
@@ -679,6 +717,7 @@ files:
679
717
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm1.comp
680
718
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_cm2.comp
681
719
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/flash_attn_split_k_reduce.comp
720
+ - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/geglu.comp
682
721
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/gelu.comp
683
722
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/gelu_quick.comp
684
723
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/generic_binary_head.comp
@@ -686,6 +725,8 @@ files:
686
725
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/generic_unary_head.comp
687
726
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/get_rows.comp
688
727
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/get_rows_quant.comp
728
+ - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/glu_head.comp
729
+ - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/glu_main.comp
689
730
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/group_norm.comp
690
731
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/im2col.comp
691
732
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/l2_norm.comp
@@ -717,6 +758,7 @@ files:
717
758
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/pad.comp
718
759
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/pool2d.comp
719
760
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/quantize_q8_1.comp
761
+ - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/reglu.comp
720
762
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/relu.comp
721
763
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/repeat.comp
722
764
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/repeat_back.comp
@@ -737,6 +779,7 @@ files:
737
779
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/square.comp
738
780
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/sub.comp
739
781
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/sum_rows.comp
782
+ - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/swiglu.comp
740
783
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/tanh.comp
741
784
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/test_bfloat16_support.comp
742
785
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/test_coopmat2_support.comp
@@ -749,9 +792,12 @@ files:
749
792
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/wkv6.comp
750
793
  - ext/sources/ggml/src/ggml-vulkan/vulkan-shaders/wkv7.comp
751
794
  - ext/sources/ggml/src/ggml.c
795
+ - ext/sources/ggml/src/ggml.cpp
752
796
  - ext/sources/ggml/src/gguf.cpp
753
797
  - ext/sources/include/whisper.h
754
798
  - ext/sources/src/CMakeLists.txt
799
+ - ext/sources/src/coreml/whisper-compat.h
800
+ - ext/sources/src/coreml/whisper-compat.m
755
801
  - ext/sources/src/coreml/whisper-decoder-impl.h
756
802
  - ext/sources/src/coreml/whisper-decoder-impl.m
757
803
  - ext/sources/src/coreml/whisper-encoder-impl.h
@@ -787,21 +833,23 @@ files:
787
833
  - ext/sources/tests/test-vad.cpp
788
834
  - ext/sources/tests/test-whisper.js
789
835
  - extsources.rb
836
+ - lib/whisper/context.rb
790
837
  - lib/whisper/model/uri.rb
838
+ - lib/whisper/segment.rb
791
839
  - sig/whisper.rbs
792
- - tests/helper.rb
793
- - tests/jfk_reader/.gitignore
794
- - tests/jfk_reader/extconf.rb
795
- - tests/jfk_reader/jfk_reader.c
796
- - tests/test_callback.rb
797
- - tests/test_error.rb
798
- - tests/test_model.rb
799
- - tests/test_package.rb
800
- - tests/test_params.rb
801
- - tests/test_segment.rb
802
- - tests/test_vad.rb
803
- - tests/test_vad_params.rb
804
- - tests/test_whisper.rb
840
+ - test/helper.rb
841
+ - test/jfk_reader/.gitignore
842
+ - test/jfk_reader/extconf.rb
843
+ - test/jfk_reader/jfk_reader.c
844
+ - test/test_callback.rb
845
+ - test/test_error.rb
846
+ - test/test_model.rb
847
+ - test/test_package.rb
848
+ - test/test_params.rb
849
+ - test/test_segment.rb
850
+ - test/test_vad.rb
851
+ - test/test_vad_params.rb
852
+ - test/test_whisper.rb
805
853
  - whispercpp.gemspec
806
854
  homepage: https://github.com/ggml-org/whisper.cpp
807
855
  licenses:
@@ -824,21 +872,21 @@ required_rubygems_version: !ruby/object:Gem::Requirement
824
872
  - !ruby/object:Gem::Version
825
873
  version: '0'
826
874
  requirements: []
827
- rubygems_version: 3.5.22
875
+ rubygems_version: 3.1.2
828
876
  signing_key:
829
877
  specification_version: 4
830
878
  summary: Ruby whisper.cpp bindings
831
879
  test_files:
832
- - tests/helper.rb
833
- - tests/jfk_reader/.gitignore
834
- - tests/jfk_reader/extconf.rb
835
- - tests/jfk_reader/jfk_reader.c
836
- - tests/test_callback.rb
837
- - tests/test_error.rb
838
- - tests/test_model.rb
839
- - tests/test_package.rb
840
- - tests/test_params.rb
841
- - tests/test_segment.rb
842
- - tests/test_vad.rb
843
- - tests/test_vad_params.rb
844
- - tests/test_whisper.rb
880
+ - test/helper.rb
881
+ - test/jfk_reader/.gitignore
882
+ - test/jfk_reader/extconf.rb
883
+ - test/jfk_reader/jfk_reader.c
884
+ - test/test_callback.rb
885
+ - test/test_error.rb
886
+ - test/test_model.rb
887
+ - test/test_package.rb
888
+ - test/test_params.rb
889
+ - test/test_segment.rb
890
+ - test/test_vad.rb
891
+ - test/test_vad_params.rb
892
+ - test/test_whisper.rb
@@ -1,3 +0,0 @@
1
- build*/
2
- .github/
3
- .devops/
@@ -1,21 +0,0 @@
1
- name: Bindings Tests (Ruby)
2
-
3
- on:
4
- push:
5
- branches:
6
- - master
7
- pull_request:
8
- types: [opened, synchronize, reopened]
9
-
10
- jobs:
11
- ubuntu-22:
12
- runs-on: ubuntu-22.04
13
- defaults:
14
- run:
15
- working-directory: bindings/ruby
16
- steps:
17
- - uses: ruby/setup-ruby@v1
18
- with:
19
- ruby-version: '3.2'
20
- - uses: actions/checkout@v4
21
- - run: rake test