| NEWS | R Documentation | 
News for Package 'gpuR'
Version 2.0.2
- API Changes: - The - solvemethod for- gpuMatrixobjects now returns a- gpuMatrixto remain consistent with the overall gpuR API #108
- The default numeric type has been changed to 'float' to allow all devices to use the functions herein by default as is also generally faster than 'double' which is not always required. #92 
 
- New Features: - Added matrix-vector product for - gpuMatrix/- gpuVectorobjects #98
- The deprecation warnings often returned from - custom_openclare now suppressed to avoid end-user confusion #103
- Implemented - tcrossprodmethods for- gpuVector/- vclVectorobjects #112
- Improved error message when referring to queues #119 
-  custom_openclnow allows for kernels to call internally defined functions #129
- Added 'inplace' operations for 'exp', 'abs' #141 
 
- Bug Fixes: - GEMV output dimensions have been fixed #97 
- Fixed bug when using - custom_openclwith multiple scalars #118
- Fixed bug in - custom_openclwhich omitted pragma allowing for double precision in special cases #123
- Fixed bug in - distwith respect to- gpuMatrixobjects exceeding dimensions of 128 #131
- Fixed bug in integer GEMM kernel observed in larger matrices #140 
- Fixed bug in restricting S4 methods in recent R versions #152 
 
- Changes in gpuR Documentation: 
Version 2.0.0
- API Changes: - deviceType, gpuInfo, cpuInfo not longer accepts 'platform_idx' parameter as OpenCL contexts cannot contain more than one platform. 
 
- New Features: - Added functionality to create custom OpenCL functions from user provided kernels 
- Added 'synchronize' function to assure completion of device calls (necessary for benchmarking) 
- Added determinant function (det) 
- Allow for gpuR object - base object interaction (e.g. vclMatrix * matrix) 
- Added ‘inplace' function for ’inplace' operations. These operations include '+', '-', '*', '/', 'sin', 'asin', 'sinh', 'cos', 'acos', 'cosh', 'tan', 'atan', 'tanh'. 
- Added 'sqrt', 'sum', 'sign','pmin', and 'pmax' functions 
- Methods to pass two gpuR matrix objects to 'cov' 
- Added 'norm' method 
- Added gpuRmatrix/gpuRvector Arith '+','-' methods 
 
- Bug Fixes: - Fixed incorrect device info when using different contexts 
- Fixed Integer Matrix Multiplication 
- All OpenCL devices will be initialized on startup (previous version occasionally would omit some devices) 
 
- Features in Progress: - Parallel GPU functionality 
- Implementing 'complex' data type 
- Additional indexing functionality 
- Additional correlation methods 
- Additional gpuR - 'base R' methods 
- gpu-vcl object methods 
 
Version 1.2.0
- New Features: - Automatically detect available SDK on install if available 
- Simplified installation to build OpenCL ICD when no SDK installed (thanks Yixuan Qui) 
- Control over individual OpenCL contexts to allow user to choose device to use 
- Added as.* methods for vclMatrix/Vector and gpuMatrix/Vector objects 
- Added str method for matrix objects 
- Added length method for matrix objects 
- Added solve method for square vclMatrix objects 
- Added QR-decompsition, SVD, Cholesky for square gpuMatrix/vclMatrix objects 
- Added diag and diag<- method for matix objects 
- Added colnames and colnames<- methods 
 
- Features in Progress: - 'device type' checks (i.e. deal with CPU & GPU objects), perhaps detect type from object? 
- Parallel GPU functionality 
- In-place operations 
- Accept custom OpenCL kernels 
 
Version 1.1.2
- New Features: - fixed major bugs with cbind/rbind and deepcopy reflecting new class architectures 
 
- Features in Progress: - Additional matrix functions (QR-decompsition, SVD, Cholesky, solve) 
- 'device type' checks (i.e. deal with CPU & GPU objects), perhaps detect type from object? 
- Control over OpenCL contexts for mutliple GPUs 
 
Version 1.1.0
- New Features: - Internal class structure simplified 
- Scalar Arith methods (e.g. 2*X) for gpuMatrix/vclMatrix objects 
- Unary '-' operator (i.e. -X) for gpuMatrix/vclMatrix objects 
- Slice methods to point to gpuVector/vclVector subsets 
- Block methods to point to gpuMatrix/vclMatrix subsets 
- deepcopy method to explicitly copy object contents 
- 'log','log10', & 'exp' methods for vector objects 
- 'abs' method added for all objects 
- 'max' & 'min' method for all objects 
- 'cbind' & 'rbind' methods for gpuMatrix/vclMatrix objects 
- 'distance' method for pairwise distances 
- 'squared euclidean' distance added ('sqEuclidean') 
- 't' method added 
 
- Features in Progress: - Additional matrix functions (QR-decompsition, SVD, Cholesky, solve) 
- 'device type' checks (i.e. deal with CPU & GPU objects), perhaps detect type from object? 
 
Initial Release version 1.0.0
- Implemented Features: - gpu* classes for vector and matrix objects 
- vcl* classes for matrix objects 
- Support for 'integer', 'float' and 'double' data types 
- gpuVector * vclVector functions (addition, subtraction) 
- gpuMatrix & vclMatrix functions (multiplication, addition, subtraction) 
- gpuMatrix eigen decomposition (values and vectors) 
- trig functions for gpu* & vcl* classes 
- print method for gpuMatrix & vclMatrix objects 
- dist method gpuMatrix & vclMatrix objects 
 
- Features in Progress: - Additional matrix functions (QR-decompsition, SVD)