run() {
    throw new Error(`"run" not defined on ${ this.constructor.name }`)
  }
@desc Run the kernel program, and send the output to renderOutput
<p> This method calls a helper method *renderOutput* to return the result. </p>
@returns {Float32Array|Float32Array[]|Float32Array[][]|void} Result The final output of the program, as float, and as Textures for reuse.
@abstract