ignis 0.0.1
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.
- checksums.yaml +7 -0
- data/README.md +15 -0
- data/lib/ignis.rb +94 -0
- data/lib/nnw/platform.rb +304 -0
- data/lib/nnw/shared/event_bus.rb +240 -0
- data/lib/nnw/shared/ffi_loader.rb +63 -0
- data/lib/nnw/shared/memory_contract.rb +204 -0
- data/lib/nnw/shared/nv_array.rb +710 -0
- data/lib/nnw/shared/recovery_protocol.rb +307 -0
- data/lib/nvruby/configuration.rb +217 -0
- data/lib/nvruby/cuda/device.rb +275 -0
- data/lib/nvruby/cuda/device_props.rb +202 -0
- data/lib/nvruby/cuda/graph.rb +265 -0
- data/lib/nvruby/cuda/graph_bindings.rb +119 -0
- data/lib/nvruby/cuda/library_loader.rb +285 -0
- data/lib/nvruby/cuda/memory.rb +410 -0
- data/lib/nvruby/cuda/runtime_api.rb +804 -0
- data/lib/nvruby/cuda/stream.rb +234 -0
- data/lib/nvruby/dtype.rb +139 -0
- data/lib/nvruby/epilogues.rb +438 -0
- data/lib/nvruby/errors.rb +303 -0
- data/lib/nvruby/half.rb +97 -0
- data/lib/nvruby/jit/compiled_kernel.rb +80 -0
- data/lib/nvruby/jit/compiler.rb +231 -0
- data/lib/nvruby/jit/driver_api_bindings.rb +363 -0
- data/lib/nvruby/jit/kernel.rb +240 -0
- data/lib/nvruby/jit/kernel_module.rb +133 -0
- data/lib/nvruby/jit/kernels/activations.rb +179 -0
- data/lib/nvruby/jit/kernels/attention.rb +504 -0
- data/lib/nvruby/jit/kernels/elementwise.rb +488 -0
- data/lib/nvruby/jit/kernels/loss.rb +213 -0
- data/lib/nvruby/jit/kernels/normalization.rb +200 -0
- data/lib/nvruby/jit/kernels/optimizer.rb +193 -0
- data/lib/nvruby/jit/nvrtc_bindings.rb +282 -0
- data/lib/nvruby/linalg/cublas_bindings.rb +295 -0
- data/lib/nvruby/linalg/cublaslt_bindings.rb +342 -0
- data/lib/nvruby/linalg/epilog.rb +67 -0
- data/lib/nvruby/linalg/matmul.rb +247 -0
- data/lib/nvruby/linalg/matmul_plan.rb +229 -0
- data/lib/nvruby/linalg/optimized_matmul.rb +412 -0
- data/lib/nvruby/memory/cuda_async_memory_resource.rb +123 -0
- data/lib/nvruby/memory/cuda_memory_resource.rb +68 -0
- data/lib/nvruby/memory/device_memory_resource.rb +106 -0
- data/lib/nvruby/memory/pinned_host_memory_resource.rb +112 -0
- data/lib/nvruby/memory/pool_memory_resource.rb +242 -0
- data/lib/nvruby/memory/stats.rb +107 -0
- data/lib/nvruby/memory.rb +124 -0
- data/lib/nvruby/version.rb +5 -0
- metadata +108 -0
metadata
ADDED
|
@@ -0,0 +1,108 @@
|
|
|
1
|
+
--- !ruby/object:Gem::Specification
|
|
2
|
+
name: ignis
|
|
3
|
+
version: !ruby/object:Gem::Version
|
|
4
|
+
version: 0.0.1
|
|
5
|
+
platform: ruby
|
|
6
|
+
authors:
|
|
7
|
+
- NNW / Ignis contributors
|
|
8
|
+
bindir: bin
|
|
9
|
+
cert_chain: []
|
|
10
|
+
date: 1980-01-02 00:00:00.000000000 Z
|
|
11
|
+
dependencies:
|
|
12
|
+
- !ruby/object:Gem::Dependency
|
|
13
|
+
name: ffi
|
|
14
|
+
requirement: !ruby/object:Gem::Requirement
|
|
15
|
+
requirements:
|
|
16
|
+
- - "~>"
|
|
17
|
+
- !ruby/object:Gem::Version
|
|
18
|
+
version: '1.0'
|
|
19
|
+
type: :runtime
|
|
20
|
+
prerelease: false
|
|
21
|
+
version_requirements: !ruby/object:Gem::Requirement
|
|
22
|
+
requirements:
|
|
23
|
+
- - "~>"
|
|
24
|
+
- !ruby/object:Gem::Version
|
|
25
|
+
version: '1.0'
|
|
26
|
+
description: |
|
|
27
|
+
Ignis is the foundation of a CUDA-backed deep-learning ecosystem for Ruby that
|
|
28
|
+
actually targets native Windows. It provides a GPU n-dimensional array
|
|
29
|
+
(Ignis::NDArray), CUDA memory/device management, a runtime kernel compiler
|
|
30
|
+
(NVRTC) with a batteries-included kernel library, fp16/bf16 conversion, and
|
|
31
|
+
cuBLAS GEMM. Kernels are compiled at runtime and libraries are bound via FFI —
|
|
32
|
+
there are NO C extensions, so installation needs no compiler or devkit (the
|
|
33
|
+
usual Windows native-gem killer). Requires an NVIDIA GPU + CUDA toolkit/runtime.
|
|
34
|
+
executables: []
|
|
35
|
+
extensions: []
|
|
36
|
+
extra_rdoc_files: []
|
|
37
|
+
files:
|
|
38
|
+
- README.md
|
|
39
|
+
- lib/ignis.rb
|
|
40
|
+
- lib/nnw/platform.rb
|
|
41
|
+
- lib/nnw/shared/event_bus.rb
|
|
42
|
+
- lib/nnw/shared/ffi_loader.rb
|
|
43
|
+
- lib/nnw/shared/memory_contract.rb
|
|
44
|
+
- lib/nnw/shared/nv_array.rb
|
|
45
|
+
- lib/nnw/shared/recovery_protocol.rb
|
|
46
|
+
- lib/nvruby/configuration.rb
|
|
47
|
+
- lib/nvruby/cuda/device.rb
|
|
48
|
+
- lib/nvruby/cuda/device_props.rb
|
|
49
|
+
- lib/nvruby/cuda/graph.rb
|
|
50
|
+
- lib/nvruby/cuda/graph_bindings.rb
|
|
51
|
+
- lib/nvruby/cuda/library_loader.rb
|
|
52
|
+
- lib/nvruby/cuda/memory.rb
|
|
53
|
+
- lib/nvruby/cuda/runtime_api.rb
|
|
54
|
+
- lib/nvruby/cuda/stream.rb
|
|
55
|
+
- lib/nvruby/dtype.rb
|
|
56
|
+
- lib/nvruby/epilogues.rb
|
|
57
|
+
- lib/nvruby/errors.rb
|
|
58
|
+
- lib/nvruby/half.rb
|
|
59
|
+
- lib/nvruby/jit/compiled_kernel.rb
|
|
60
|
+
- lib/nvruby/jit/compiler.rb
|
|
61
|
+
- lib/nvruby/jit/driver_api_bindings.rb
|
|
62
|
+
- lib/nvruby/jit/kernel.rb
|
|
63
|
+
- lib/nvruby/jit/kernel_module.rb
|
|
64
|
+
- lib/nvruby/jit/kernels/activations.rb
|
|
65
|
+
- lib/nvruby/jit/kernels/attention.rb
|
|
66
|
+
- lib/nvruby/jit/kernels/elementwise.rb
|
|
67
|
+
- lib/nvruby/jit/kernels/loss.rb
|
|
68
|
+
- lib/nvruby/jit/kernels/normalization.rb
|
|
69
|
+
- lib/nvruby/jit/kernels/optimizer.rb
|
|
70
|
+
- lib/nvruby/jit/nvrtc_bindings.rb
|
|
71
|
+
- lib/nvruby/linalg/cublas_bindings.rb
|
|
72
|
+
- lib/nvruby/linalg/cublaslt_bindings.rb
|
|
73
|
+
- lib/nvruby/linalg/epilog.rb
|
|
74
|
+
- lib/nvruby/linalg/matmul.rb
|
|
75
|
+
- lib/nvruby/linalg/matmul_plan.rb
|
|
76
|
+
- lib/nvruby/linalg/optimized_matmul.rb
|
|
77
|
+
- lib/nvruby/memory.rb
|
|
78
|
+
- lib/nvruby/memory/cuda_async_memory_resource.rb
|
|
79
|
+
- lib/nvruby/memory/cuda_memory_resource.rb
|
|
80
|
+
- lib/nvruby/memory/device_memory_resource.rb
|
|
81
|
+
- lib/nvruby/memory/pinned_host_memory_resource.rb
|
|
82
|
+
- lib/nvruby/memory/pool_memory_resource.rb
|
|
83
|
+
- lib/nvruby/memory/stats.rb
|
|
84
|
+
- lib/nvruby/version.rb
|
|
85
|
+
homepage: https://github.com/tigel-agm/Ignis
|
|
86
|
+
licenses:
|
|
87
|
+
- MIT
|
|
88
|
+
metadata:
|
|
89
|
+
source_code_uri: https://github.com/tigel-agm/Ignis
|
|
90
|
+
rubygems_mfa_required: 'true'
|
|
91
|
+
rdoc_options: []
|
|
92
|
+
require_paths:
|
|
93
|
+
- lib
|
|
94
|
+
required_ruby_version: !ruby/object:Gem::Requirement
|
|
95
|
+
requirements:
|
|
96
|
+
- - ">="
|
|
97
|
+
- !ruby/object:Gem::Version
|
|
98
|
+
version: '3.1'
|
|
99
|
+
required_rubygems_version: !ruby/object:Gem::Requirement
|
|
100
|
+
requirements:
|
|
101
|
+
- - ">="
|
|
102
|
+
- !ruby/object:Gem::Version
|
|
103
|
+
version: '0'
|
|
104
|
+
requirements: []
|
|
105
|
+
rubygems_version: 3.6.9
|
|
106
|
+
specification_version: 4
|
|
107
|
+
summary: GPU compute for Ruby on Windows — CUDA arrays, kernels, and BLAS via FFI/NVRTC
|
|
108
|
+
test_files: []
|