| … | … | @@ -502,3 +502,19 @@ queries correctly. 8/8 tests green; built the anti-slop way throughout. |
| 502 | 502 | and standalone protos, every step verified, no regressions.** From "minimal Atomese?" to a |
| 503 | 503 | GPU-backed opencog AtomSpace that stores, queries, scales to 1M atoms, reasons multi-hop, runs a |
| 504 | 504 | neurosymbolic loop, and closes an agent loop. |
| 505 | |
| 506 | ## Q. runQuery GPU override (2026-06-25) — matching on the GPU via the real opencog API |
| 507 | |
| 508 | `GpuStorageNode::runQuery()` override (atomspace-gpu commit bdc7a37): GPU-resident fast-path for |
| 509 | `(Meet $X (Inheritance $X <const>))` — match = const's incoming InheritanceLinks read off the GPU |
| 510 | index, groundings = their position-0 atoms; result placed at `key` as a UnisetValue. Falls back to |
| 511 | default `BackingStore::runQuery` (CPU crawl, GPU-served incoming) for unsupported shapes. |
| 512 | `storeValue`/`loadValue` no-ops (no Value persistence yet → default doesn't throw). Plus |
| 513 | `gpu_intersect_incoming` (GPU join of two incoming sets). Verified by `test_runquery_gpu`: |
| 514 | `store->runQuery(meet,key)` → {cat,dog,bear} via the GPU path; all 11 GpuBasicSaveUTest + |
| 515 | test-atom-table pass. Scope: one query shape on GPU (single typed clause); general multi-clause/WCOJ |
| 516 | GPU matcher is future. |
| 517 | |
| 518 | **STORAGE: atomspace-gpu (gpu-backing-store: fecc49c, bdc7a37) + gpu-atomese-test (main: f7ed298) |
| 519 | both committed & served on pear-git (`~/git-repos/*.git`, daemon-served). NOT pushed to opencog |
| 520 | GitHub yet — that's the outward-facing push, deferred to user.** |