发明名称 |
Source-to-source transformations for graph processing on many-core platforms |
摘要 |
Methods are provided for source-to-source transformations for graph processing on many-core platforms. A method includes receiving a graph application including one graph, expressed by a graph application programming interface configured for defining and manipulating graphs. The method further includes transforming, by a source-to-source compiler, the graph application into a plurality of parallel code variants. Each of the plurality of parallel code variants is specifically configured for parallel execution by a target one of a plurality of different many-core processors. The method also includes selecting and tuning, by a runtime component, a particular one of the parallel code variants for the parallel execution responsive to graph application characteristics, graph data, and an underlying code execution platform of the plurality of different many-core processors. |
申请公布号 |
US9335981(B2) |
申请公布日期 |
2016.05.10 |
申请号 |
US201414510660 |
申请日期 |
2014.10.09 |
申请人 |
NEC Corporation |
发明人 |
Chakradhar Srimat;Becchi Michela;Li Da |
分类号 |
G06F9/45 |
主分类号 |
G06F9/45 |
代理机构 |
|
代理人 |
Kolodka Joseph |
主权项 |
1. A method, comprising:
receiving a graph application including one graph, expressed by a graph application programming interface configured for defining and manipulating graphs; transforming, by a source-to-source compiler, the graph application and related container data structures into a platform-specific container data structures including a plurality of parallel code variants, each of the plurality of parallel code variants being specifically configured for parallel execution by a target one of a plurality of different many-core processors, wherein different parallel code variants are generated for each of the different many-core processors; managing execution synchronizations for the graph and the platform-specific container data structures, the managing including converting platform-independent synchronization primitives into platform-specific synchronization primitives; and selecting and tuning, by a runtime component, a particular one of the parallel code variants for the parallel execution responsive to graph application characteristics, graph data, and an underlying code execution platform of the plurality of different many-core processors. |
地址 |
JP |