Application Code - Explore the Science & Experts | ideXlab

Scan Science and Technology

Contact Leading Edge Experts & Companies

Application Code

The Experts below are selected from a list of 9384 Experts worldwide ranked by ideXlab platform

Hiroaki Kobayashi – 1st expert on this subject based on the ideXlab platform

  • vectorization aware loop optimization with user defined Code transformations
    International Conference on Cluster Computing, 2017
    Co-Authors: Hiroyuki Takizawa, Ryusuke Egawa, Thorsten Reimann, Kazuhiko Komatsu, Takashi Soga, Akihiro Musa, Hiroaki Kobayashi

    Abstract:

    The cost of maintaining an Application Code would significantly increase if the Application Code is branched into multiple versions, each of which is optimized for a different architecture. In this work, default and vector versions of a realworld Application Code are refactored to be a single version, and the differences between the versions are expressed as userdefined Code transformations. As a result, Application developers can maintain only the single version, and transform it to its vector version just before the compilation. Although Code optimizations for a vector processor are sometimes different from those for other processors, Application developers can enjoy the performance of the vector processor without increasing the Code complexity. Evaluation results demonstrate that vectorizationaware loop optimization for a vector processor can be expressed as user-defined Code transformation rules, and thereby significantly improve the performance of a vector processor without major Code modifications.

  • Directive Translation for Various HPC Systems Using the Xevolver Framework
    Sustained Simulation Performance 2016, 2016
    Co-Authors: Kazuhiko Komatsu, Hiroyuki Takizawa, Ryusuke Egawa, Hiroaki Kobayashi

    Abstract:

    This paper proposes a directive translation approach that translates a special placeholder to different directives, depending on the target HPC system. The special placeholder in an Application Code is used as a trigger for the directive translation. By employing a Code translation framework, Xevolver, the special placeholder can be translated to various directives that fit to any target HPC systems. Instead of using multiple directives, it can keep maintainability and readability of the original Code because only special placeholders are inserted into an Application Code. This paper also demonstrates a translation of a special placeholder into OpenMP directives to clarify the effectiveness of the proposed directive translation approach.

  • xevolver an xml based Code translation framework for supporting hpc Application migration
    IEEE International Conference on High Performance Computing Data and Analytics, 2014
    Co-Authors: Hiroyuki Takizawa, Ryusuke Egawa, Shoichi Hirasawa, Yasuharu Hayashi, Hiroaki Kobayashi

    Abstract:

    This paper proposes an extensible programming framework to separate platform-specific optimizations from Application Codes. The framework allows programmers to define their own Code translation rules for special demands of individual systems, compilers, libraries, and Applications. Code translation rules associated with user-defined compiler directives are defined in an external file, and the Application Code is just annotated by the directives. For Code transformations based on the rules, the framework exposes the abstract syntax tree (AST) of an Application Code as an XML document to expert programmers. Hence, the XML document of an AST can be transformed using any XML-based technologies. Our case studies using real Applications demonstrate that the framework is effective to separate platform-specific optimizations from Application Codes, and to incrementally improve the performance of an existing Application without messing up the Code.

Hiroyuki Takizawa – 2nd expert on this subject based on the ideXlab platform

  • Xevolver: A User-Defined Code Transformation Approach to Streamlining Legacy Code Migration
    Advanced Software Technologies for Post-Peta Scale Computing, 2018
    Co-Authors: Hiroyuki Takizawa, Reiji Suda, Daisuke Takahashi, Ryusuke Egawa

    Abstract:

    Since different systems usually require different performance optimizations, an Application Code is likely “specialized” for a particular system configuration to fully extract the system performance. This is one major reason why migration of an existing Application Code, so-called legacy Code migration, is so labor-intensive and error-prone especially in the high-performance computing (HPC) area. To make matters worse, the diversity of system architectures would increase the number of system configurations that have to be considered during the life of an Application. As a result, the increasing system complexity and diversity will force programmers to further invest enormous time and effort on HPC Application development and maintenance. For long-term software development and maintenance, an HPC Application Code should not be optimized for a particular system configuration. However, simply excluding system-awareness from the Code just results in reducing the performance, because system-awareness can be regarded as the necessary information to exploit the performance of the target system. The goal of this project is to express system-awareness separately from the HPC Application Code to achieve high performance while keeping the Code maintainability. To this end, we have been developing a Code transformation framework, Xevolver, so that users can express system-awareness as user-defined Code transformation rules separately from HPC Application Codes. By defining custom Code transformations for individual cases, an HPC Application Code itself does not need to be modified for each system configuration and is transformed for each system by using the Code transformations defined separately from the Code.

  • vectorization aware loop optimization with user defined Code transformations
    International Conference on Cluster Computing, 2017
    Co-Authors: Hiroyuki Takizawa, Ryusuke Egawa, Thorsten Reimann, Kazuhiko Komatsu, Takashi Soga, Akihiro Musa, Hiroaki Kobayashi

    Abstract:

    The cost of maintaining an Application Code would significantly increase if the Application Code is branched into multiple versions, each of which is optimized for a different architecture. In this work, default and vector versions of a realworld Application Code are refactored to be a single version, and the differences between the versions are expressed as userdefined Code transformations. As a result, Application developers can maintain only the single version, and transform it to its vector version just before the compilation. Although Code optimizations for a vector processor are sometimes different from those for other processors, Application developers can enjoy the performance of the vector processor without increasing the Code complexity. Evaluation results demonstrate that vectorizationaware loop optimization for a vector processor can be expressed as user-defined Code transformation rules, and thereby significantly improve the performance of a vector processor without major Code modifications.

  • Directive Translation for Various HPC Systems Using the Xevolver Framework
    Sustained Simulation Performance 2016, 2016
    Co-Authors: Kazuhiko Komatsu, Hiroyuki Takizawa, Ryusuke Egawa, Hiroaki Kobayashi

    Abstract:

    This paper proposes a directive translation approach that translates a special placeholder to different directives, depending on the target HPC system. The special placeholder in an Application Code is used as a trigger for the directive translation. By employing a Code translation framework, Xevolver, the special placeholder can be translated to various directives that fit to any target HPC systems. Instead of using multiple directives, it can keep maintainability and readability of the original Code because only special placeholders are inserted into an Application Code. This paper also demonstrates a translation of a special placeholder into OpenMP directives to clarify the effectiveness of the proposed directive translation approach.

Ryusuke Egawa – 3rd expert on this subject based on the ideXlab platform

  • Xevolver: A User-Defined Code Transformation Approach to Streamlining Legacy Code Migration
    Advanced Software Technologies for Post-Peta Scale Computing, 2018
    Co-Authors: Hiroyuki Takizawa, Reiji Suda, Daisuke Takahashi, Ryusuke Egawa

    Abstract:

    Since different systems usually require different performance optimizations, an Application Code is likely “specialized” for a particular system configuration to fully extract the system performance. This is one major reason why migration of an existing Application Code, so-called legacy Code migration, is so labor-intensive and error-prone especially in the high-performance computing (HPC) area. To make matters worse, the diversity of system architectures would increase the number of system configurations that have to be considered during the life of an Application. As a result, the increasing system complexity and diversity will force programmers to further invest enormous time and effort on HPC Application development and maintenance. For long-term software development and maintenance, an HPC Application Code should not be optimized for a particular system configuration. However, simply excluding system-awareness from the Code just results in reducing the performance, because system-awareness can be regarded as the necessary information to exploit the performance of the target system. The goal of this project is to express system-awareness separately from the HPC Application Code to achieve high performance while keeping the Code maintainability. To this end, we have been developing a Code transformation framework, Xevolver, so that users can express system-awareness as user-defined Code transformation rules separately from HPC Application Codes. By defining custom Code transformations for individual cases, an HPC Application Code itself does not need to be modified for each system configuration and is transformed for each system by using the Code transformations defined separately from the Code.

  • vectorization aware loop optimization with user defined Code transformations
    International Conference on Cluster Computing, 2017
    Co-Authors: Hiroyuki Takizawa, Ryusuke Egawa, Thorsten Reimann, Kazuhiko Komatsu, Takashi Soga, Akihiro Musa, Hiroaki Kobayashi

    Abstract:

    The cost of maintaining an Application Code would significantly increase if the Application Code is branched into multiple versions, each of which is optimized for a different architecture. In this work, default and vector versions of a realworld Application Code are refactored to be a single version, and the differences between the versions are expressed as userdefined Code transformations. As a result, Application developers can maintain only the single version, and transform it to its vector version just before the compilation. Although Code optimizations for a vector processor are sometimes different from those for other processors, Application developers can enjoy the performance of the vector processor without increasing the Code complexity. Evaluation results demonstrate that vectorizationaware loop optimization for a vector processor can be expressed as user-defined Code transformation rules, and thereby significantly improve the performance of a vector processor without major Code modifications.

  • Directive Translation for Various HPC Systems Using the Xevolver Framework
    Sustained Simulation Performance 2016, 2016
    Co-Authors: Kazuhiko Komatsu, Hiroyuki Takizawa, Ryusuke Egawa, Hiroaki Kobayashi

    Abstract:

    This paper proposes a directive translation approach that translates a special placeholder to different directives, depending on the target HPC system. The special placeholder in an Application Code is used as a trigger for the directive translation. By employing a Code translation framework, Xevolver, the special placeholder can be translated to various directives that fit to any target HPC systems. Instead of using multiple directives, it can keep maintainability and readability of the original Code because only special placeholders are inserted into an Application Code. This paper also demonstrates a translation of a special placeholder into OpenMP directives to clarify the effectiveness of the proposed directive translation approach.