Skip to content

With an OpenCL virtual machine, evolve and maintain computer programs to meet specifications.

License

Notifications You must be signed in to change notification settings

elspru/Machine-Programmer

Repository files navigation

Readme

Abstract

Make specifications for your programs, and allow the computer to evolve the solutions.

Ingredients

This project has several components:

  • binary/encoding for encoding Pyash into 32 byte tablets. (beta)

  • binary/clprobe for getting OpenCL info and compiling .cl files to check for syntax errors (beta)

  • Machine programmer for evolving Pyash programs in OpenCL on GPU/CPU (alpha)

  • OpenCL compatible virtual machine for Pyash, the SPEL core-language (alpha)

  • Compiler for converting Pyash byte-code to other languages like LLVM (concept)

Progress

As of Aug 2016, this is just a prototype under active development. It is expected that once the Machine Programmer can contribute to it’s own code base, that the rate of development will increase.

Tiny OpenCL Teaching

Even now it has some useful AGPLv3, OpenCL code, which can be adapted to other projects. check out the following files for a mini OpenCL overview:

source/hello.c
source/hello.cl
source/generic.h
source/generic.c

can test with

cd source
gcc generic.c hello.c -lOpenCL  -o hello # possibly also -L../library 
./hello

About

With an OpenCL virtual machine, evolve and maintain computer programs to meet specifications.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages