node5 A SIMD Interpreter for Genetic Programming on Graphics Cards
How Can a Single Program Run a GP population?
Due to the increasing cost of programmers
there is a steady trend towards high level languages which are
interpreted.
Examples include perl, java, javascript, php.
Interpreted languages avoid compilation overhead
and the production of hardware specific binary executable code.
By using an interpreter the program can be run (in principle)
anywhere
and avoid the delay of running a compiler.
Interpreted languages trade off convenience etc. against
efficiency.
Typically interpreted code is roughly ten times slower than optimised
compiled code.
However the ration may be much bigger
(162 JavaScript v. C???)
Almost all Genetic Programming systems rely on an interpreter to
run the individual members of the population.
We accept the overhead when performing fitness evaluation.
A Graphics card can hold a complete genetic programming population
and evaluated its fitness by using a SIMD interpreter.
Thus: a single program can run a GP population
if we make it an interpreter which can interpret multiple program
simultaneously .