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
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.
.