cran
. See also theR-universe documentation.Package: MPCR 1.1.3
MPCR: Multi- And Mixed-Precision Computations
Designed for multi- and mixed-precision computations, accommodating 64-bit and 32-bit data structures. This flexibility enables fast execution across various applications. The package enhances performance by optimizing operations in both precision levels, which is achieved by integrating with high-speed 'BLAS' and 'LAPACK' libraries like 'MKL' and 'OpenBLAS'. Including a 32-bit option caters to applications where high precision is unnecessary, accelerating computational processes whenever feasible. The package also provides support for tile-based algorithms in three linear algebra operations: CHOL(), TRSM(), and GEMM(). The tile-based algorithm splits the matrix into smaller tiles, facilitating parallelization through a predefined Directed Acyclic Graph (DAG) for each operation. Enabling 'OpenMP' enhances the efficiency of these operations, leveraging multi-core parallelism. In this case, 'MPCR' facilitates mixed-precision execution by permitting varying precision levels for different tiles. This approach is advantageous in numerous applications, as it maintains the accuracy of the application while accelerating execution in scenarios where single-precision alone does not significantly affect the accuracy of the application.
Authors:
MPCR_1.1.3.tar.gz
MPCR_1.1.3.tar.gz(r-4.5-noble)MPCR_1.1.3.tar.gz(r-4.4-noble)
MPCR_1.1.3.tgz(r-4.4-emscripten)MPCR_1.1.3.tgz(r-4.3-emscripten)
MPCR.pdf |MPCR.html✨
MPCR/json (API)
# Install 'MPCR' in R: |
install.packages('MPCR', repos = c('https://cran.r-universe.dev', 'https://cloud.r-project.org')) |
Bug tracker:https://github.com/stsds/mpcr/issues
Last updated 2 months agofrom:8de041fec1. Checks:OK: 2. Indexed: no.
Target | Result | Date |
---|---|---|
Doc / Vignettes | OK | Nov 08 2024 |
R-4.5-linux-x86_64 | OK | Nov 08 2024 |
Exports:as.MPCRbacksolvecholchol2invdiageigenforwardsolveisSymmetricLa.svdMPCRMPCR.absMPCR.acosMPCR.acoshMPCR.AddMPCR.asinMPCR.asinhMPCR.atanMPCR.atanhMPCR.backsolveMPCR.cbindMPCR.ceilingMPCR.ChangePrecisionMPCR.cholMPCR.chol2invMPCR.ConcatenateMPCR.copyMPCR.cosMPCR.coshMPCR.crossprodMPCR.DeSerializeMPCR.diagMPCR.DivideMPCR.eigenMPCR.expMPCR.expm1MPCR.floorMPCR.forwardsolveMPCR.gammaMPCR.gemmMPCR.is.doubleMPCR.is.finiteMPCR.is.floatMPCR.is.halfMPCR.is.infiniteMPCR.is.naMPCR.is.nanMPCR.is.singleMPCR.isSymmetricMPCR.La.svdMPCR.lgammaMPCR.logMPCR.log10MPCR.log2MPCR.maxMPCR.minMPCR.MultiplyMPCR.na.excludeMPCR.na.omitMPCR.ncolMPCR.normMPCR.nrowMPCR.object.sizeMPCR.PowerMPCR.printMPCR.qrMPCR.qr.QMPCR.qr.qtyMPCR.qr.qyMPCR.qr.RMPCR.rbindMPCR.rcondMPCR.repMPCR.roundMPCR.scaleMPCR.SerializeMPCR.showMPCR.sinMPCR.sinhMPCR.solveMPCR.sqrtMPCR.storage.modeMPCR.strMPCR.SubtractMPCR.svdMPCR.sweepMPCR.tMPCR.tanMPCR.tanhMPCR.tcrossprodMPCR.ToNumericMatrixMPCR.ToNumericVectorMPCR.trsmMPCR.truncMPCR.typeofMPCR.which.maxMPCR.which.minMPCRTileMPCRTile.cholMPCRTile.copyMPCRTile.gemmMPCRTile.GetSerializedTileMPCRTile.GetTileMPCRTile.trsmMPCRTile.UpdateTilencolnormnrowprintqrqr.Qqr.qtyqr.qyqr.Rrcondscalesolvestorage.modesvdsweepttypeofwhich.maxwhich.min
Dependencies:Rcpp
Readme and manuals
Help Manual
Help page | Topics |
---|---|
MPCR S4 Class | MPCR MPCR.DeSerialize MPCR.Serialize Rcpp_MPCR-class |
MPCRTile S4 Class | MPCRTile MPCRTile.GetSerializedTile MPCRTile.GetTile MPCRTile.UpdateTile Rcpp_MPCRTile-class |
Converters | as.MPCR Converters MPCR.ToNumericMatrix MPCR.ToNumericVector |
Binary arithmetic numeric/MPCR objects. | *,Rcpp_MPCR,BaseLinAlg-method *,Rcpp_MPCR,Rcpp_MPCR-method +,Rcpp_MPCR,BaseLinAlg-method +,Rcpp_MPCR,Rcpp_MPCR-method -,Rcpp_MPCR,BaseLinAlg-method -,Rcpp_MPCR,Rcpp_MPCR-method /,Rcpp_MPCR,BaseLinAlg-method /,Rcpp_MPCR,Rcpp_MPCR-method arithmetic MPCR.Add MPCR.Divide MPCR.Multiply MPCR.Power MPCR.Subtract ^,Rcpp_MPCR,BaseLinAlg-method ^,Rcpp_MPCR,Rcpp_MPCR-method |
Binary comparison operators for numeric/MPCR objects. | !=,Rcpp_MPCR,BaseLinAlg-method !=,Rcpp_MPCR,Rcpp_MPCR-method <,Rcpp_MPCR,BaseLinAlg-method <,Rcpp_MPCR,Rcpp_MPCR-method <=,Rcpp_MPCR,BaseLinAlg-method <=,Rcpp_MPCR,Rcpp_MPCR-method ==,Rcpp_MPCR,BaseLinAlg-method ==,Rcpp_MPCR,Rcpp_MPCR-method >,Rcpp_MPCR,BaseLinAlg-method >,Rcpp_MPCR,Rcpp_MPCR-method >=,Rcpp_MPCR,BaseLinAlg-method >=,Rcpp_MPCR,Rcpp_MPCR-method comparison |
Extract or replace elements from an MPCR object. | [,Rcpp_MPCR-method [<-,Rcpp_MPCR-method [[,Rcpp_MPCR-method [[<-,Rcpp_MPCR-method |
dimensions | dimensions MPCR.ncol MPCR.nrow ncol,Rcpp_MPCR-method nrow,Rcpp_MPCR-method |
copy | copy MPCR.copy MPCRTile.copy |
concatenate | concatenate MPCR.Concatenate MPCR.Concatenate,Rcpp_MPCR-method |
bind | MPCR.cbind MPCR.cbind,Rcpp_MPCR-method MPCR.rbind MPCR.rbind,Rcpp_MPCR-method |
diag | diag diag,Rcpp_MPCR-method MPCR.diag |
Min-Max Functions | extremes max,Rcpp_MPCR-method min,Rcpp_MPCR-method MPCR.max MPCR.min MPCR.which.max MPCR.which.min which.max,Rcpp_MPCR-method which.min,Rcpp_MPCR-method |
Logarithms and Exponentials | exp,Rcpp_MPCR-method expm1,Rcpp_MPCR-method log log,Rcpp_MPCR-method log10,Rcpp_MPCR-method log2,Rcpp_MPCR-method MPCR.exp MPCR.expm1 MPCR.log MPCR.log10 MPCR.log2 |
Finite, infinite, and NaNs | is.finite,Rcpp_MPCR-method is.infinite,Rcpp_MPCR-method is.nan,Rcpp_MPCR-method mathis MPCR.is.finite MPCR.is.infinite MPCR.is.nan |
Miscellaneous mathematical functions | abs,Rcpp_MPCR-method miscmath MPCR.abs MPCR.sqrt sqrt,Rcpp_MPCR-method |
NA's | MPCR.is.na MPCR.is.na,Rcpp_MPCR-method MPCR.na.exclude MPCR.na.exclude,Rcpp_MPCR-method MPCR.na.omit MPCR.na.omit,Rcpp_MPCR-method NA's |
replicate | MPCR.rep rep,Rcpp_MPCR-method replicate |
Rounding functions | ceiling,Rcpp_MPCR-method floor,Rcpp_MPCR-method MPCR.ceiling MPCR.floor MPCR.round MPCR.trunc round round,Rcpp_MPCR-method trunc,Rcpp_MPCR-method |
scale | MPCR.scale scale scale,Rcpp_MPCR-method |
sweep | MPCR.sweep sweep sweep,Rcpp_MPCR-method |
Special mathematical functions. | gamma,Rcpp_MPCR-method lgamma,Rcpp_MPCR-method MPCR.gamma MPCR.lgamma specialmath |
Trigonometric functions | acos,Rcpp_MPCR-method asin,Rcpp_MPCR-method atan,Rcpp_MPCR-method cos,Rcpp_MPCR-method MPCR.acos MPCR.asin MPCR.atan MPCR.cos MPCR.sin MPCR.tan sin,Rcpp_MPCR-method tan,Rcpp_MPCR-method trig |
Hyperbolic functions | acosh,Rcpp_MPCR-method asinh,Rcpp_MPCR-method atanh,Rcpp_MPCR-method cosh,Rcpp_MPCR-method hyperbolic MPCR.acosh MPCR.asinh MPCR.atanh MPCR.cosh MPCR.sinh MPCR.tanh sinh,Rcpp_MPCR-method tanh,Rcpp_MPCR-method |
transpose | MPCR.t t,Rcpp_MPCR-method transpose |
Metadata functions | Check Precision MPCR.is.double MPCR.is.double,Rcpp_MPCR-method MPCR.is.float MPCR.is.float,Rcpp_MPCR-method MPCR.is.half MPCR.is.half,Rcpp_MPCR-method MPCR.is.single MPCR.is.single,Rcpp_MPCR-method |
Metadata functions | metadata MPCR.ChangePrecision MPCR.ChangePrecision,Rcpp_MPCR-method MPCR.object.size MPCR.object.size,Rcpp_MPCR-method MPCR.storage.mode MPCR.typeof storage.mode,Rcpp_MPCR-method typeof,Rcpp_MPCR-method |
MPCR.print MPCR.show MPCR.str print print,Rcpp_MPCR-method show,Rcpp_MPCR-method | |
cholesky decomposition | chol chol,Rcpp_MPCR-method MPCR.chol |
cholesky inverse | chol2inv chol2inv,Rcpp_MPCR-method MPCR.chol2inv |
crossprod | crossprod crossprod,Rcpp_MPCR-method MPCR.crossprod MPCR.tcrossprod tcrossprod,Rcpp_MPCR-method |
eigen decomposition | eigen eigen,Rcpp_MPCR-method MPCR.eigen |
isSymmetric | isSymmetric isSymmetric,Rcpp_MPCR-method MPCR.isSymmetric |
norm | MPCR.norm norm norm,Rcpp_MPCR-method |
QR decomposition | MPCR.qr MPCR.qr.Q MPCR.qr.qty MPCR.qr.qy MPCR.qr.R qr qr,Rcpp_MPCR-method qr.Q,ANY-method qr.R,ANY-method |
reciprocal condition | MPCR.rcond rcond rcond,Rcpp_MPCR-method |
solve | MPCR.solve solve solve,Rcpp_MPCR-method |
SVD | La.svd,Rcpp_MPCR-method MPCR.La.svd MPCR.svd svd svd,Rcpp_MPCR-method |
Back/Forward solve | backsolve,Rcpp_MPCR,Rcpp_MPCR-method forwardsolve,Rcpp_MPCR,Rcpp_MPCR-method MPCR.backsolve MPCR.forwardsolve |
MPCR GEMM (Matrix-Matrix Multiplication) | MPCR GEMM MPCR.gemm MPCR.gemm,Rcpp_MPCR-method |
MPCR TRSM (Triangular Solve) | MPCR TRSM MPCR.trsm MPCR.trsm,Rcpp_MPCR-method |
MPCRTile GEMM (Matrix-Matrix Multiplication) | MPCRTile GEMM MPCRTile.gemm MPCRTile.gemm,Rcpp_MPCRTile-method |
MPCRTile Chol ( Cholesky decomposition ) | chol,Rcpp_MPCRTile-method MPCRTile Chol MPCRTile.chol |
MPCRTile TRSM (Triangular Solve) | MPCRTile.trsm MPCRTile.trsm,Rcpp_MPCRTile-method |