Download Read the User`s Guide - BeBOP (Berkeley Benchmarking and
Transcript
Contents List of Tables 3 List of Listings 3 1 What is OSKI and Who Should Use It? 4 2 Installation 2.1 What you will need to get started . . . . . . . . . . . . . . . 2.2 How to install OSKI . . . . . . . . . . . . . . . . . . . . . . . 2.3 Customizing your OSKI build using configure . . . . . . 2.3.1 Overriding the default compiler and/or flags . . . . 2.3.2 Selecting other or additional scalar type precisions 2.3.3 Optional tools . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 4 4 5 7 7 7 7 Using OSKI: A First Example 3.1 Initializing OSKI . . . . . . . . . . . . 3.2 Creating a matrix . . . . . . . . . . . . 3.3 Specifying the dense vectors . . . . . . 3.4 Calling sparse matrix-vector multiply 3.5 Linking . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 8 8 8 10 10 11 4 Overview of Tuning by Example 4.1 Tuning style 1: Providing explicit hints . . . . . . . . . . . . . . . . . . . . . . 4.2 Tuning style 2: Implicit profiling . . . . . . . . . . . . . . . . . . . . . . . . . 12 12 14 5 Guide to the Complete Interface 5.1 Basic scalar types . . . . . . . . . . . . . . . . . . . . . . . 5.2 Creating and modifying matrix and vector objects . . . . 5.2.1 Creating matrix objects . . . . . . . . . . . . . . . . 5.2.2 Changing matrix non-zero values . . . . . . . . . 5.2.3 Vector objects . . . . . . . . . . . . . . . . . . . . . 5.3 Executing kernels . . . . . . . . . . . . . . . . . . . . . . . 5.3.1 Applying the transpose of a matrix . . . . . . . . . 5.3.2 Aliasing . . . . . . . . . . . . . . . . . . . . . . . . 5.3.3 Scalars vs. 1x1 matrix objects . . . . . . . . . . . . 5.3.4 Compatible dimensions for matrix multiplication 5.3.5 Floating point exceptions . . . . . . . . . . . . . . 5.4 Tuning . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 5.4.1 Providing workload hints explicitly . . . . . . . . 5.4.2 Providing structural hints . . . . . . . . . . . . . . 5.4.3 Initiating tuning . . . . . . . . . . . . . . . . . . . 5.4.4 Accessing the permuted form . . . . . . . . . . . . 5.5 Saving and restoring tuning transformations . . . . . . . 5.6 Handling errors . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 14 16 16 16 18 19 19 21 21 22 22 22 22 23 23 25 25 28 29 Troubleshooting 6.1 Installation problems . . . . . . 6.2 Run-time errors . . . . . . . . . 6.3 Tuning difficulties . . . . . . . . 6.4 Pre-built synthetic benchmarks . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 30 30 30 30 31 3 6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . .