OverviewFilesCommitsIssuesDocsReleasesPeers

opencog-atomese-simd commits / 5e7fc93

Update status
5e7fc93a8abbf09aafa0683fa061b055bb0829a8
by Linas Vepštas <linasvepstas@gmail.com> · 2025-09-12T04:45:39.000Z

Changed files (2) +22 -2

Design-C.md +16 -1
……@@ -196,7 +196,7 @@ Where is this API description kept? Well, the `*-description-*` message
196196sent to the `(OpenclKernelNode "vec_add")` node should return this.
197197I guess this is hand-coded, for now.
198198
199TODO: Should this be published as
199TODO: ?? Should this be published as ??
200200```
201201 (Section (OpenclNode "...") (ChoiceLink (Section ...)))
202202```
……@@ -208,6 +208,21 @@ could be ambiguous in general, as other `Section` might pop up.
208208By contrast, `*-description-*` is unambiguous and is a reserved keyword.
209209So OK, leave as-is.
210210
211Update 11 Sept 2025: The OpenCL program code is now parsed to extract
212function signatures, and these signatures are converted to Atomese.
213See `genIDL.cc` for that code. The Atomese signatures are now published
214in `*-description-*`. When user code attempts to invoke a kernel, the
215arguments created by the user are checked against the kernel interface.
216An error is thrown, if they don't match up.
217
218The current implementation is rudimentary; only the simplest kernels are
219handled. But its a proof of concept. Seems to work, and seems not to be
220horrible.
221
222At any rate, this is a win: having the `*-description-*` available
223should allow the introspection that we've long been dreaming of and
224blabbering about. We'll see how that works out.
225
211226Open Discussion
212227---------------
213228Some philosophical questions remain as to "object permanence". Vectors
README.md +6 -1
……@@ -73,12 +73,17 @@ thought of what it means "to perceive and move".
7373
7474Status
7575-----
76***Version 0.0.9.*** --
76***Version 0.1.0*** --
7777Basic proof-of-concept, showing how to use Atomese to open a connection
7878to an OpenCL compute device (i.e. a GPU), load and invoke compute
7979kernels, and have those kernels work with floating-point vector data
8080residing in the AtomSpace.
8181
82New in this version: Atomese interface descriptions are now generated
83for OpenCL kernel interfaces. This should allow introspection of the
84interfaces, and their manipulation in Atomese. Well see how that goes.
85The groundwork is there.
86
8287The demo is minimal, but it works. Tested on both AMD Radeon R9 and
8388Nvidia RTX cards.
8489