The encog-core-java master branch no longer has a Encog.getInstance().getCL()
method, or explicit access to the OpenCL devices (c.f. LeadTune's encog-java example: BenchmarkCL based on Encog 2).
Instead, we seem to be referred to the ConcurrentTrainingManager
which magically detects GPUs along with the CPUs, though the implementation of this is very unclear.
The only other mention of OpenCL in the source code is in ResilientPropagation
, where the OpenCL device object is claimed to be an optional constructor parameter, but it is not.
Does anyone know if OpenCL support has simply been removed from Encog without updating the JavaDocs? Better yet, could anyone please provide a working example of OpenCL-backed machine learning on Encog 3.x?
My attempt to submit a TrainingJob
to the ConcurrentTrainingManager
failed because I couldn't figure out how to set a training Strategy
for my RPROPJob
.