Learn R Programming

Introduction

This package performs microbenchmarking for determining the run time performance of aspects of the R programming environment and packages relevant to high-performance computation. The benchmarks are divided into three categories: dense matrix linear algebra kernels, sparse matrix linear algebra kernels, and machine learning functionality. The top-level benchmark functions covering the three categories are RunDenseMatrixBenchmark, RunSparseMatrixBenchmark, RunMachineLearningBenchmark.

Installation

The companion data package RHPCBenchmarkData contains the sparse matrix files needed by the sparse matrix benchmarking function.

Installation of the benchmarking and companion data packages is trivial with the use of the install.packages function

Examples

See the vignette named 'vignette' for a more detailed explanation of the package and additional examples. New benchmarks can be specified using the classes DenseMatrixMicrobenchmark, SparseMatrixMicrobenchmark, and ClusteringMicrobenchmark; see the vignette and the object documentation for each of these classes to learn how new microbenchmarks can be constructed.

Copy Link

Version

Install

install.packages('RHPCBenchmark')

Monthly Downloads

169

Version

0.1.0

License

Apache License 2.0 | file LICENSE

Maintainer

James McCombs

Last Published

May 23rd, 2017

Functions in RHPCBenchmark (0.1.0)

ComputeStandardDeviation

Computes the standard deviation of a vector of performance trial times
CrossprodAllocator

Allocates and populates input to the matrix cross product dense matrix kernel
ClusteringMicrobenchmark

This class specifies a clustering for machine learning microbenchmark.
ComputeAverageTime

Computes the average of a vector of performance trial times
GetClusteringExampleMicrobenchmarks

Initializes the list of example clustering microbenchmarks
GetConfigurableEnvParameter

Retrieves the value of an environment variable referenced by another
GenerateClusterData

Generates clusters from multivariate normal distributions
GetClusteringDefaultMicrobenchmarks

Initializes the list of default clustering microbenchmarks
GetDenseMatrixDefaultMicrobenchmarks

Initializes the list of default dense matrix microbenchmarks
GetDenseMatrixExampleMicrobenchmarks

Initializes the list of example dense matrix microbenchmarks
PamClusteringMicrobenchmark

Conducts a single performance trial with the cluster::pam function
PerformClusteringMicrobenchmarking

Performs microbenchmarking of machine learning functions specified by an
ClaraClusteringMicrobenchmark

Conducts a single performance trial with the cluster::clara function
ClusteringAllocator

Allocates and initializes input to the clustering for machine learning
DeformtransMicrobenchmark

Conducts a single performance trial with the matrix deformation and transpose
DenseMatrixMicrobenchmark

This class specifies a dense matrix microbenchmark.
GetSparseCholeskyExampleMicrobenchmarks

Initializes the list of example sparse Cholesky factorization
CholeskyAllocator

Allocates and initializes input to the Cholesky factorization dense matrix
CholeskyMicrobenchmark

Conducts a single performance trial with the Cholesky factorization dense
DeterminantAllocator

Allocates and populates input to the matrix determinant dense matrix kernel
DeterminantMicrobenchmark

Conducts a single performance trial with the matrix determinant dense
CrossprodMicrobenchmark

Conducts a single performance trial with the matrix cross product dense
DeformtransAllocator

Allocates and populates input to the matrix deformation and transpose dense
EigenAllocator

Allocates and populates input to the matrix eigendecomposition kernel
EigenMicrobenchmark

Conducts a single performance trial with the matrix eigendecomposition dense
GetSparseQrDefaultMicrobenchmarks

Initializes the list of default sparse QR factorization microbenchmarks
LsfitAllocator

Allocates and populates input to the matrix least squares fit dense matrix
LsfitMicrobenchmark

Conducts a single performance trial with the matrix least squares fit dense
MatmatAllocator

Allocates and populates input to the matrix-matrix multiplication dense
GetSparseMatrixVectorDefaultMicrobenchmarks

Initializes the list of default sparse matrix-vector microbenchmarks
GetSparseMatrixVectorExampleMicrobenchmarks

Initializes the list of example sparse matrix-vector microbenchmarks
MicrobenchmarkDenseMatrixKernel

Performs microbenchmarking of a dense matrix linear algebra kernel
MicrobenchmarkSparseMatrixKernel

Performs microbenchmarking of a sparse matrix linear algebra kernel
SvdMicrobenchmark

Conducts a single performance trial with the singular value decomposition
TransposeAllocator

Allocates and populates input to the matrix transpose dense matrix kernel
GetSparseLuDefaultMicrobenchmarks

Initializes the list of default sparse LU factorization microbenchmarks
MatmatMicrobenchmark

Conducts a single performance trial with the matrix-matrix multiplication
MatvecAllocator

Allocates and populates input to the matrix-vector multiplication dense
RunMachineLearningBenchmark

Runs all of the machine learning microbenchmarks
RunSparseMatrixBenchmark

Runs all of the sparse matrix microbenchmarks
SolveAllocator

Allocates and populates input to the dense matrix kernel microbenchmark
SolveMicrobenchmark

Conducts a single performance trial with the dense matrix kernel for
PrintDenseMatrixMicrobenchmarkResults

Prints results of a dense matrix microbenchmark
PrintSparseMatrixMicrobenchmarkResults

Prints results of a sparse matrix microbenchmark
SparseMatrixMicrobenchmark

This class specifies a sparse matrix microbenchmark.
SparseMatrixVectorAllocator

Allocates and initializes input to the matrix-vector multiplication sparse
GetNumberOfThreads

Retrieves the number of threads from the environment
GetSparseCholeskyDefaultMicrobenchmarks

Initializes the list of default sparse Cholesky factorization
PerformSparseMatrixKernelMicrobenchmarking

Performs microbenchmarking of sparse matrix kernels specified by an input
PrintClusteringMicrobenchmarkResults

Prints results of a clustering for machine learning microbenchmark
SparseCholeskyAllocator

Allocates and initializes input to the Cholesky factorization sparse
SparseCholeskyMicrobenchmark

Conducts a single performance trial with the Cholesky factorization
WriteDenseMatrixPerformanceResultsCsv

Appends dense matrix performance test results to a file in CSV format
WriteSparseMatrixPerformanceResultsCsv

Appends sparse matrix performance test results to a file in CSV format
QrAllocator

Allocates and populates input to the QR factorization dense matrix kernel
QrMicrobenchmark

Conducts a single performance trial with the QR factorization dense matrix
SparseMatrixVectorMicrobenchmark

Conducts a single performance trial with the matrix-vector multiplication
SparseQrAllocator

Allocates and initializes input to the QR factorization sparse matrix kernel
TransposeMicrobenchmark

Conducts a single performance trial with the matrix transpose dense matrix
WriteClusteringPerformanceResultsCsv

Appends performance test results of a clustering microbenchmark to a file in
MatvecMicrobenchmark

Conducts a single performance trial with the matrix-vector multiplication
MicrobenchmarkClusteringKernel

Performs microbenchmarking of a clustering for machine learning kernel
RHPCBenchmark

RHPCBenchmark: A package for performance testing intrinsic R functionality
RunDenseMatrixBenchmark

Runs all of the dense matrix microbenchmarks
SparseLuAllocator

Allocates and initializes input to the LU factorization sparse matrix kernel
SparseLuMicrobenchmark

Conducts a single performance trial with the LU factorization sparse matrix
SparseQrMicrobenchmark

Conducts a single performance trial with the QR factorization sparse matrix
SvdAllocator

Allocates and populates input to the singular value decomposition (SVD) dense