BTL++: From Performance Assessment to Optimal Libraries

  • Authors:
  • Laurent Plagne;Frank Hülsemann

  • Affiliations:
  • EDF R&D, Clamart, France F-92141;EDF R&D, Clamart, France F-92141

  • Venue:
  • ICCS '08 Proceedings of the 8th international conference on Computational Science, Part III
  • Year:
  • 2008

Quantified Score

Hi-index 0.00

Visualization

Abstract

This paper presents the Benchmark Template Library in C++, in short BTL++, which is a flexible framework to assess the run time of user defined computational kernels. When the same kernel is implemented in several different ways, the collected performance data can be used to automatically construct an interface library that dispatches a function call to the fastest variant available.The benchmark examples in this article are mostly functions from the dense linear algebra BLAS API. However, BTL++can be applied to any kernel that can be called by a function from a C++ main program. Within the same framework, we are able to compare different implementations of the operations to be benchmarked, from libraries such as ATLAS, over procedural solutions in Fortran and C to more recent C++ libraries with a higher level of abstraction. Results of single threaded and multi-threaded computations are included.