Auto-tuning a Matrix Routine for High Performance

Jensen, Rune E.; Karlin, Ian; Elster, Anne C.
January 2011
Norsk Informatikkonferanse;2011, Issue 21-23, p133
Conference Proceeding
Well-written scientific simulations typically get tremendous performance gains by using highly optimized library routines. Some of the most fundamental of these routines perform matrix-matrix multiplications and related routines, known as BLAS (Basic Linear Algebra Subprograms). Optimizing these library routines for efficiency is therefore of tremendous importance for many scientific simulations. In fact, some of them are often hand-optimized in assembly language for a given processor, in order to get the best possible performance. In this paper, we present a new tuning approach, combining a small snippet of assembly code with an auto-tuner. For our preliminary test-case, the symmetric rank-2 update, the resulting routine outperforms the best auto-tuner and vendor supplied code on our target machine, an Intel quad-core processor. It also performs less than 1.2% slower than the best hand coded library. Our novel approach shows a lot of promise for further performance gains on modern multi-core and many-core processors.


Related Articles

  • Algorithm Improvement of Two-way Merge Sort Based on OpenMP. Jun Zhang; Yongping Gao; Yueshun He; Xueyuan Wang // Applied Mechanics & Materials;2014, Vol. 701/702, p24 

    Two-way merge sort algorithm has a good time efficiency which has been used widely. The sort algorithm can be improved on speed and efficient based on its own potential parallelism via the parallel processing capacity of multi-core processor and the convenient programming interface of OpenMP....

  • EMC Unleashes its Next Wave in Storage Tech. Adeesh Sharma // PC Quest;Oct2013, p94 

    The article discusses the launch of several storage technology systems by technology firm EMC at the EMC Speed2Lead event in Milan, Italy. It says that ViPR can deliver Object Data Services which supports application programming interface (API). It mentions that VNX Series features multi-core...

  • Oracle pushes Java IDE extension standard. Taft, Darryl K. // eWeek;11/18/2002, Vol. 19 Issue 46, p84 

    Reports that Oracle Corp. has submitted a Java Specification Request 198 to the Java Community Process for a Standard Extension application programming interface to work with any Java integrated data environment. Advantages of the interface; Companies that will develop technology for the...

  • Vantiv And TrustCommerce Are TakingTo The Cloud.  // ISO & Agent Weekly;9/1/2011, Vol. 7 Issue 33, p7 

    The article offers brief information on the Vantiv Direct Application Programming Interface (API) from Vantiv LLC.

  • Near-real time videos from space.  // Position Magazine;Aug/Sep2011, Issue 54, p8 

    The article offers information on the video platform from UrtheCast in Canada which will broadcast near-real time images and video of earth captured from the International Space Station (ISS).

  • A helping hand. Biagi, Susan // Telephony;09/11/2000, Vol. 239 Issue 11, p52 

    Provides information on RoboTAG, a front-end solution for BellSouth's Telecommunications Access Gateaway, an application programming interface. Reason for the development of the product; Benefit of the program for carriers.

  • Appian brings silos together.  // KM World;Jul/Aug2013, Vol. 22 Issue 7, p3 

    The article offers brief information on the Appian Records mobile interface from business process management (BPM) solutions provider Appian.

  • Herding a Hurricane: Implementing and Managing API Programs. Feller, Joseph // Cutter Benchmark Review;2014, Vol. 14 Issue 1, p3 

    An introduction is presented in which the editor discusses various reports within the issue on topics including application programming interface (API) deployment and usage, support for application integration, and API integration in large enterprises.

  • A Modest Proposal: A Hardware API. Weiss, Ray // Electronic Design;01/22/2001, Vol. 49 Issue 2, p46 

    Argues that a hardware application program interface (API) can provide a higher-level definition of bus in terms of its bus operations and underlying state machine. How a software API defines a program interface; VME bus definitions.


Read the Article


Sorry, but this item is not currently available from your library.

Try another library?
Sign out of this library

Other Topics