1. A graph processing system, comprising: a graph API (Application Program Interface), as executed on a processor of a computer and as capable of implementing any of a plurality of graph operators to express computations of input graph analytics applications; a run-time system, executed by the processor, to implement graph operators specified by each graph API function and to deploy the implemented graph operators to a selected computing system; a library of multiple implementations for each graph API function, each implementation predetermined as being optimal for a specific set of conditions met by a graph being processed, for functional capabilities of a specific computing system on which the graph is being processed, and for resources available on that specific computing system; and communication port to permit the run-time system to gather functional capabilities of different potential computing systems to execute the specified computations, wherein the run-time system determines functional capabilities required by an implementation of a graph API function to be executed in a selected computing system, selects a preferred implementation of a graph API function from the multiple implementations in the library for executing a graph API function with the functional capabilities of the computing system, and determines an optimal machine to execute the preferred graph API function implementation as based on having obtaining functional capabilities of different computing systems accessible through the communication port.
1. A graph processing system, comprising: a graph API (Application Program Interface), as executed on a processor of a computer and as capable of implementing any of a plurality of graph operators to express computations of input graph analytics applications; a run-time system, executed by the processor, to implement graph operators specified by each graph API function and to deploy the implemented graph operators to a selected computing system; a library of multiple implementations for each graph API function, each implementation predetermined as being optimal for a specific set of conditions met by a graph being processed, for functional capabilities of a specific computing system on which the graph is being processed, and for resources available on that specific computing system; and communication port to permit the run-time system to gather functional capabilities of different potential computing systems to execute the specified computations, wherein the run-time system determines functional capabilities required by an implementation of a graph API function to be executed in a selected computing system, selects a preferred implementation of a graph API function from the multiple implementations in the library for executing a graph API function with the functional capabilities of the computing system, and determines an optimal machine to execute the preferred graph API function implementation as based on having obtaining functional capabilities of different computing systems accessible through the communication port. 5. The graph processing system of claim 1 , wherein the functional capabilities of the computing systems comprise one or more out of: Field Programmable Gate Arrays (FPGAs); Graphics Processing Units (GPUs); a cluster of nodes with shared memory or message passing capability; a cluster of nodes with NoSQL databases installed; and a cluster of nodes with a Map/Reduce programming environment.