# Benchmarking functions for GPU/CPU Benchmarking

### Description

Benchmarking functions for GPU/CPU Benchmarking

### Usage

1 2 3 4 5 6 7 8 9 | ```
getMatrix(N)
matmultBenchmark(N, n, trim=0.1)
matmultBenchmarkgputools(N, n, trim=0.1)
qrBenchmark(N, n, trim=0.1)
qrBenchmarkgputools(N, n, trim=0.1)
svdBenchmark(N, n, trim=0.1)
luBenchmark(N, n, trim=0.1)
luBenchmarkgputools(N, n, trim=0.1)
``` |

### Arguments

`N` |
dimension of square matrix |

`n` |
number of replications of benchmarked test |

`trim` |
percentage to be trimmed in |

### Details

`getMatrix`

provides a square matrix of the given dimension.

`matmultBenchmark`

times the cost of multiplying a matrix of the
given size with itself, repeated as specified and returns the trimmed
mean of the elapsed times. `matmultBenchmarkgputools`

does the
same using the **gputools** and packages.

`qrBenchmark`

times the cost of a QR decomposition of a matrix of
the given size, repeated as specified and returns the trimmed mean of
the elapsed times. `qrBenchmarkgputools`

does the same using the
**gputools** packages.

`svdBenchmark`

times the cost of a Singular Value Decomposition
(SVD) of a matrix of the given size, repeated as specified and returns
the trimmed mean of the elapsed times.

`luBenchmark`

times the cost of a LU Decomposition of a matrix of
the given size, repeated as specified and returns the trimmed mean of
the elapsed times. `luBenchmarkgputools`

does the same using the
**gputools** package.