A Library for Explicit Dynamic Code Generation and Optimisation in C++

نویسندگان

  • Olav Beckmann
  • Peter Fordham
  • Alastair Houghton
  • Paul Kelly
چکیده

The TaskGraph Library is a C++ library for dynamic code generation, which combines specialisation with dependence analysis and loop restructuring. A TaskGraph represents a fragment of code which is constructed and manipulated at run-time, then compiled, dynamically linked and executed. TaskGraphs are initialised using macros and overloading, which forms a simplified, C-like sub-language with first-class arrays and no pointer arithmetic. Once a TaskGraph has been constructed, we can analyse dependence structure and perform optimisations. In this paper, we present the design of the TaskGraph library, present several sample applications for this library which demonstrate its use for runtime code specialisation and optimisation and discuss related work and future applications and developments of the library.

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

منابع مشابه

Runtime Code Generation in C++ as a Foundation for Domain-Specific Optimisation

The TaskGraph Library is a C++ library for dynamic code generation, which combines specialisation with dependence analysis and loop restructuring. A TaskGraph represents a fragment of code which is constructed and manipulated at runtime, then compiled, dynamically linked and executed. TaskGraphs are initialised using macros and overloading, which forms a simplified, C-like sub-language with fir...

متن کامل

Numerical Study of Entropy Generation for Natural Convection in Cylindrical Cavities

In this paper, an enhanced computational code was developed using finite-volume method for solving the incompressible natural convection flow within the cylindrical cavities. Grids were generated by an easy method with a view to computer program providing. An explicit integration algorithm was applied to find the steady state condition. Also instead of the conventional algorithms of SIMPLE, SIM...

متن کامل

An Active Linear Algebra Library Using Delayed Evaluation and Runtime Code Generation

Active libraries can be defined as libraries which play an active part in the compilation (in particular, the optimisation) of their client code. This paper explores the idea of delaying evaluation of expressions built using library calls, then generating code at runtime for the particular compositions that occur. We explore this idea with a dense linear algebra library for C++. The key optimis...

متن کامل

DESOLA: An active linear algebra library using delayed evaluation and runtime code generation

Active libraries can be defined as libraries which play an active part in the compilation, in particular, the optimisation of their client code. This paper explores the implementation of an active dense linear algebra library by delaying evaluation of expressions built using library calls, then generating code at runtime for the compositions that occur. The key optimisations in this context are...

متن کامل

Second Generation IMO Intact Stability Vulnerability Criteria and its Application to ships Navigating in Persian Gulf and Oman Sea

Second generation intact stability criteria for few past years had been under development by International Maritime Organization (IMO). Since the draft proposed amendments shall be amended to International code on Intact Stability (IS code 2008), new regulations shall enter into force for ships of length more than 24 meter. Generally second generation intact stability criteria (SGISC) refers to...

متن کامل

ذخیره در منابع من


  با ذخیره ی این منبع در منابع من، دسترسی به آن را برای استفاده های بعدی آسان تر کنید

برای دانلود متن کامل این مقاله و بیش از 32 میلیون مقاله دیگر ابتدا ثبت نام کنید

ثبت نام

اگر عضو سایت هستید لطفا وارد حساب کاربری خود شوید

عنوان ژورنال:

دوره   شماره 

صفحات  -

تاریخ انتشار 2003