发明名称 Software development for a hybrid computing environment
摘要 Software development for a hybrid computing environment that includes a host computer and an accelerator, the host computer and the accelerator adapted to one another for data communications by a system level message passing module and by two or more data communications fabrics of at least two different fabric types where software development includes creating, by a programmer, a computer program for execution in the hybrid computing environment, the computer program including directives for generation of computer program code that moves contents of memory among host computers and accelerators in the hybrid computing environment; generating, by a code generator application, source code in accordance with the directives; analyzing, by the code generator application, operation of the generated code for data movement and utilization of moved data; and regenerating, by the code generator application, the source code in accordance with the directives and further in accordance with results of the analysis.
申请公布号 US8843880(B2) 申请公布日期 2014.09.23
申请号 US200912360158 申请日期 2009.01.27
申请人 International Business Machines Corporation 发明人 Carey James E.;Markland Matthew W.
分类号 G06F9/44 主分类号 G06F9/44
代理机构 Biggers Kennedy Lenart Spraggins, LLP 代理人 Biggers Kennedy Lenart Spraggins, LLP
主权项 1. A method of software development for a hybrid computing environment, the hybrid computing environment comprising: a host computer having a host processor comprising a host computer architecture; an accelerator having an accelerator processor comprising an accelerator architecture, the accelerator architecture optimized, with respect to the host computer architecture, for speed of execution of a particular class of computing functions, the accelerator architecture comprising a different architecture than the host computer architecture such that computer program instructions compiled for native execution by the accelerator cannot, without a recompile, be executed by the host processor and computer program instructions compiled for execution on the host processor cannot, without a recompile, be executed by the accelerator processor; the host computer and the accelerator adapted to one another for data communications by a system level message passing module; the host computer and the accelerator adapted to one another for data communications by two or more data communications fabrics of at least two different fabric types; the method comprising: receiving from a programmer, a computer program for execution in the hybrid computing environment, the computer program including, along with computer program instructions, directives for generation of computer program code that moves contents of memory, across at least one of the data communications fabrics and between a host computer and an accelerator in the hybrid computing environment; generating, by a code generator application, source code in accordance with the directives; analyzing, by the code generator application, operation of the generated code for data movement and utilization of moved data by comparing operational metrics gathered during execution of the source code to historical data communication and memory utilization metrics to identify portions of the source code to alter during regeneration; and regenerating, by the code generator application, the identified portions of the source code in accordance with the directives and further in accordance with results of the analysis to improve results of execution of the source code in dependence upon the historical data communications and the memory utilization metrics.
地址 Armonk NY US