Current Stable Release: v1.4.1-6737. No release candidates are currently available.

Release Notes

From JacketWiki

Jump to: navigation, search
Back to Main Page

Contents

07/27/2010 - v1.4.1

  • Build 6737
  • Requires CUDA 3.1 drivers
  • Users are not required to install the CUDA toolkit. Jacket 1.4 was built with CUDA 3.1. In Linux and Mac, Jacket's CUDA libraries must be given precedence (via LD_LIBRARY_PATH) relative to existing CUDA toolkit installations.

Additions:

  • Jacket support for 64-bit MAC OSX (versions 10.6.3 and higher)
  • GPROFILE beta version of GPU profiler for MATLAB (console version)
  • GLAUNCH beta version of inline MATLAB CUDA kernel construction (write CUDA code within M files)
  • GFOR capabilities enabled for CUMSUM and CUMPROD

Changes:

  • MTIMES performance improved for smaller matrices
  • Jacket SDK no longer locks mex files by default, allowing recompiles without restarting MATLAB
  • JIT inside GFOR bug fix
  • Running FFT and clearing all data multiple times no longer produces Jacket Errors
  • Minor fixes to JacketDemo
  • Graphics Library - Middle mouse button now correctly recognized under Windows
  • INTERP2 fixed occurrence of erroneous extrap values (NaN) on some non-square input/output combinations

Known Issues:

  • Jacket DLA not yet available for Mac OSX 64-bit
  • CUMPROD gives incorrect values for certain sizes on Fermi-based GPUs

07/12/2010 - v1.4

  • Build 6121
  • Requires CUDA 3.1 drivers
  • Users are not required to install the CUDA toolkit. Jacket 1.4 was built with CUDA 3.1. In Linux and Mac, Jacket's CUDA libraries must be given precedence (via LD_LIBRARY_PATH) relative to existing CUDA toolkit installations.

Additions:

  • Added support for the NVIDIA Fermi architecture (GTX400 and Tesla C2000 series)
  • Dramatically improved the performance of Jacket's JIT (Just-In-Time) compilation technology
    • Operations involving random scalar constants do not incur a recompile
    • Removed dependencies on MINGW and NVCC
  • Logical indexing now supported for SUBSREF and SUBSASGN, e.g. B = A(A > x)
  • MTIMES supports mixed types, no longer uses CUBLAS, and achieves better performance than CUBLAS
  • SUM, MIN, MAX, ANY, ALL now supported over any number of columns, rows, or dimensions
  • MIN, MAX indexed output now supported for complex single and complex double inputs
  • SUM, MIN, MAX over columns is greatly accelerated; vectors accelerated too
  • FIND performance improvements
  • CONVN, BLKDIAG, DOT performance improvements
  • CUMSUM now supported for matrices also
  • SORT, CONVN now supported in double-precision
  • HESS(A) and [P,H] = HESS(A) now supported (see Jacket DLA)
  • LEGENDRE now supported
  • Expanded GFOR support for:
  • PCG now supported, this is a system solver that uses the Preconditioned Conjugate Gradient Method for dense matrices
  • Image Processing Library now available. Direct access to the NVIDIA Performance Primitives (NPP) enabling new image processing functionality such as ERODE and DILATE.

Changes:

  • Memory subsystem is now more stable and incurs less fragmentation resulting in fewer "Out of memory" errors
  • MLDIVIDE fixed behavior in case of singular inputs
  • FFT no longer gives incorrect values or CUFFT errors for certain sizes
  • HIST now uses the same binning method and therefore, similar results as MATLAB
  • SQRT on negative real numbers correctly outputs complex data
  • SORT on rows more consistent with MATLAB behavior
  • GRADIENT fixed erroneous behavior in some cases
  • INTERP1 no longer segfaults and is partially supported

Known Issues:

  • FULL results in a GPU failure on certain systems
  • BSXFUN may perform slower in certain situations
  • FFT fails for sizes less than 32 elements on some single-precision cards

04/06/2010 - v1.3

  • Build 3889
  • Requires 190.xx or higher Drivers
  • This release packages CUDA 2.3 toolkit; users are not required to install the CUDA toolkit. Existing toolkits are fine as long as Jacket's CUDA toolkit is given precedence.

Additions:

  • Added a new PCA example to demonstrate Jacket's linear algebra functionality available with JacketDLA and based on CULA (www.culatools.com)

Linear algebra additions:

Changes:

  • GFOR support is now present for:
  • Enhanced performance for:
  • GDOUBLE support for Linear Algebra functions:
  • Fixed issue where using GRAND and GRANDN repeatedly would cause loss of randomness after a point.
  • CONV2 (separable convolution)
  • GINFO prints out more detailed information about System Configuration that now also includes CUDA driver version and License features.
  • ALL and ANY support GSINGLE and GDOUBLE complex inputs.
  • CROSS supported with GDOUBLE inputs.
  • The Windows installer has been revamped, with options to manage licenses and download license files automatically, as well as download of CUDA driver for your system.

Known Issues:

  • Although Jacket does not contain out-of-the-box support for SuSE Linux Enterprise Server, it is possible to run Jacket with SLES with a few modifications. Please contact support@accelereyes.com for more information on Jacket Support for SLES.
  • Some linear algebra operations, particularly MLDIVIDE, DET, and INV, have variations in precision.
  • For certain cases (primarily Linux 64 systems), CONV2 returns a GPU failure or incorrect values.
  • KRON is not supported for use in a GFOR loop yet, but does not throw an explicit error message.
  • SQRT of a negative real matrix does not produce the a complex number correctly and does not display and error message

01/04/2010 - v1.2.2

  • Build 3170
  • Requires CUDA 2.3 Drivers and Toolkit
  • This is a development release; please note the following issues (specific to this release) before installing:
    • This development version requires Linux users to set LD_LIBRARY_PATH in the following order: <PATH TO JACKET>/cula/lib:<PATH TO CUDA>/lib (Replace lib by lib64 if using 64-bit Linux)
    • This version of Jacket has an issue with the memory subsystem that will be fixed in the next version. This may manifest itself in the GPU issuing out of memory errors.

Additions:

Changes:

  • GONES, GZEROS, GEYE can now return double-precision on double-precision cards. This is possible by setting a flag as follows: gpu_entry(10,true) to enable default-gdouble, and gpu_entry(10,false) to disable it.
  • GONES, GZEROS, GEYE, GRAND and GRANDN (without arguments) now return a 1x1 number.
  • SQRT and POWER now supported for complex inputs
  • Optimizations made to subscripted referencing and assignments
  • The divide operation now preserves class: if A is a GDOUBLE, 1/A has the same class
  • Fixed issue with incorrect cached kernel being used in multiplication
  • Fixed issue where MLDIVIDE failed with CPU arguments
  • Fixed failures with complex GDOUBLE to complex GSINGLE conversion
  • Fixed failures with MOD, BLKDIAG for some inputs
  • Fixed a failure for CAT(1,A,B) for 2D inputs (order of 1000x500).

Known issues:

  • In addition to LD_LIBRARY_PATH, MacOSX users need to set $DYLD_LIBRARY_PATH to the following:<PATH TO JACKET>/cula/lib/ in environment.plist.
  • If you are running Jacket in Linux on 'screen', note that problems may occur with commands such as GINFO and GACTIVATE. This is because Jacket sets the environment variable KMP_DUPLICATE_LIB_OK to TRUE to enable the SVD algorithm to run.
  • BSXFUN, COV, STD, VAR, CORRCOEF currently give incorrect results for some data (Please see release notes for 1.2). This is slated to be fixed soon.

11/04/2009 - v1.2.1

  • Build 2833
  • Requires CUDA 2.3 Drivers and Toolkit

Additions:

Changes:

  • Fixed an issue with incorrect values for COMPLEX(A,B) for mixed GPU data-types
  • ALL now supports complex GDOUBLE inputs
  • SUM(A,DIM) now gives correct results for up to 10 dimensions.
  • GFOR support for MIN and MAX:
  • GFOR support for ANY(A) and ANY(A,DIM)
  • GFOR support for ALL(A) and ALL(A,DIM)
  • Fixed an issue with PERMUTE failing for large matrices
  • Improvements to the memory subsystem

Known issues:

  • The divide operation doesn't preserve class: if A is a GDOUBLE, 1/A has the class GSINGLE
  • SVD is known to cause MATLAB to become unresponsive for certain matrix values. This is an issue with CULA.

10/01/2009 - v1.2

  • Build 2585
  • Requires CUDA 2.3 Drivers and Toolkit

Additions:

  • A Multi-GPU License (MGL) option is now available which adds support for MATLAB's Parallel Computing Toolbox and Distributed Computing Server products for running a single instance of Jacket simultaneously across many GPUs
  • A Jacket MATLAB Compiler (JMC) option is now available which allows you to create standalone executables by compiling Jacket code with the MATLAB compiler, "MCC".
  • BSXFUN is now supported for builtin functions (@PLUS, @TIMES, ...)
  • Functions dependent on BSXFUN:
  • Preliminary support for sparse GPU matrices:
    • Declaration of sparse GPU matrices as GSINGLE(<MATLAB Sparse Matrix>)
    • Multiplication of sparse matrices with dense matrices
  • Added support for Linear Algebra functions on the GPU using CULA (www.culatools.com)
    • QR and LU supported for real, 2D, GSINGLE inputs
    • SVD support for 2D inputs
    • NOTE: The current implementations of QR and LU are unpivoted
  • MLDIVIDE now supported for real, non-empty GSINGLE arrays
  • Histograms can now be calculated on GSINGLE data with HIST
  • FULL is now supported for conversion of sparse matrices to full
  • SHIFTDIM is fully supported

Changes:

  • cache.jkt generated from an older version of Jacket will now not be used in newer releases.
  • GDOUBLE complex support for SUM, MIN, MAX, ANY, ALL, FIND
  • Subscripted references and assignments now support upto 3 GPU variables as indexers, for example:
A = gones(4);
b = gones(4,1);
A(b)
A(b,b)
A(b,b,b)
  • Fixed issue where a lower-class GPU was getting selected by default instead of the one with the most memory, necessitating a GSELECT operation
  • Fixed bug in PERMUTE/IPERMUTE which caused it to fail with [256 256 256] and other similarly-sized inputs
  • Fixed underlying issue that caused GPU failures with subscripted references and assignments beyond a particular index. (A([1:48 100]) is now supported)
  • Updated documentation with GHELP; GHELP without arguments now prints a list of possible arguments
  • GFOR i = 1:N now gives a warning that the iterator name may conflict with the MATLAB built-in 'I'
  • SUM no longer fails for large array values of the order of 70x50000
  • Fixed an OpenGL initialization issue at startup that caused occasional crashes of the examples

Known issues:

  • Issues with BSXFUN and dependents:
    • BSXFUN fails with transposed or otherwise reshaped data
    • BSXFUN gives incorrect results for the routines XOR, GEYE, and MOD
    • COV, STD, VAR, CORRCOEF fail for empty arrays
    • STD(A,1,IDX) known to fail for certain cases
  • The implementation of SVD requires initialization of libraries that conflict with threading libraries initialized by MATLAB at runtime. To force the program to continue, it is necessary to set the environment variable KMP_DUPLICATE_LIB_OK to TRUE. This can be done on a (Linux) bash shell as: export KMP_DUPLICATE_LIB_OK=TRUE Currently, the Windows installation is configured to automatically set this value at runtime.
  • Please read the Technical Notes on SVD and MLDIVIDE by typing 'GHELP SVD' and 'GHELP MLDIVIDE' on the MATLAB console for information on comparing the CPU and GPU-generated values of these functions
  • Currently GRAND without arguments returns an error instead of defaulting to grand(1)

08/12/2009 - v1.1.1

  • Build 2057
  • Requires CUDA 2.3 Drivers and Toolkit

Additions:

  • FFT is now supported for GDOUBLE inputs.
  • GRANDN - GPU version of RANDN.
  • GRAND - GPU version of RAND.
  • SORT(X) is now supported.
  • CUMSUM(X) is now supported for vectors.
  • CUMPROD(X) is now supported for vectors.
  • PERMUTE, IPERMUTE is now supported.
  • REPMAT is now supported for complex inputs.
  • The GCACHE command now allows users to manipulate the cache by flushing, saving, or loading it.
  • The command GHELP displays information about functions supported by Jacket on the MATLAB console:
    • Features different from MATLAB's implementation of the function
    • Supported syntax for the function
    • Where relevant, whether a function can be used within a GFOR loop
  • MOD and REM now have complex support
  • XOR support for float data types

Changes:

  • CONV2(A,B,'same') with subscripted references to A and B now produces correct results
  • DOT(A,B) performed on 2D matrices now gives an error message instead of an incorrect result
  • Fixed a rounding issue that caused cast to work incorrectly on GSINGLE TO GUINT32 conversion
  • ISINTEGER now returns a single value for an array, instead of an array of values
  • Fixed an issue in ISFLOAT which was causing it to return incorrect resuls
  • SIGN no longer gives incorrect results for real GDOUBLE data
  • Fixed an issue where MOD did not work similar to MATLAB
  • Fixed an issue where REM returned incorrect results
  • Subscripted assignments of the type A(B) = C now work for real A and complex C
  • CIRCSHIFT no longer gives erroneous results with shifts greater than the dimension of the input
  • ATAN2 and HYPOT no longer cause GPU failure for real inputs of different precision types
  • REPMAT(A,M,N) now returns an error message if M and N are GPU variables
  • Fixed a bug that caused assignments of the type A = B(1:N,:) to crash beyond a particular subscript N

Known Issues:

  • FFT(A) where A = GRAND(1), may produce incorrect results
  • FILTER(B,A,X) is known to crash with inputs of large dimensions
  • COMPLEX returns incorrect values when run on scalars
  • CAT(DIM,A,B) fails when concatenating large-dimensional inputs
  • SUM produces incorrect results with large matrices (on the order of 100x50000)
  • b = a([1:48 100]) causes a GPU failure
  • FIND does not support complex data - currently it returns incorrectly sized results

06/17/2009 - v1.1

  • Build 1456
  • Requires CUDA 2.2 Drivers and Toolkit

Additions:

  • GDOUBLE support
  • Other new native GPU data types supported: GLOGICAL, GINT32, GUINT32
  • New developer SDK available offering both designated computer and concurrent network licensing options
  • Partial support for CONV2: the method CONV2(a, b, 'same') is now supported for kernels of any size up to 5x5 (e.g. 1x3 2x5 3x3 4x5 ...) and square kernels from n=6 to n=10 (e.g. 6x6 7x7 8x8 9x9 10x10)
  • New licensing scheme for designated computer and concurrent network licenses
  • GINFO now detects the presence (or absence) of CUDA and gives an appropriate message
  • COLON is fully supported (except in GFOR)
  • TRACE supported for complex matrices
  • REPMAT(A,M,N) is fully supported. REPMAT(A, [M,N,P . . .]) is supported for up-to 3-dimensional inputs and 3-dimensional outputs
  • Reductions - SUM, MIN, MAX, ANY, ALL are now supported
    • Preliminary GFOR support for reductions is now present
    • Reductions can also be performed on complex numbers
    • Note: reductions for complex GDOUBLE inputs are not supported
    • MIN and MAX now give indexed output over real-valued vectors. This support is currently enabled only for GSINGLE arrays

Changes:

  • The method MAX(A,B) now produces consistent results when performed on complex GSINGLE variables
  • Subassigning a GDOUBLE to a GSINGLE no longer causes an error
  • Fixed scaling issues at large data sizes in IFFTN
  • Fixed failure when /tmp is not writable
  • Files written to /tmp no longer have reproducible filenames
  • CLEAR ALL clears all GPU memory. After this, GINFO will report 0mb used
  • DIAG now supports GFOR
  • Fixed issue related to subscripting that caused failure on Jacket:
A=gones(5,5,20);
B=A;
A(:,:,2)=B(:,:,2);
A(:,:,2)
  • Multiplication of an array (of size > 1) of GSINGLE inputs that have been labeled as LOGICAL now produces consistent results, e.g (gones(2)>0)*gsingle(5)
  • Subassigning a GDOUBLE to a GSINGLE is now supported
  • MAX(A,[],DIM) is supported for up to 3D arrays over 3rd dimension
  • MESHGRID now supports mixed types and mixed complexity; this means MESHGRID(GSINGLE,GDOUBLE) is allowed. However it does not support mixing logical and floating point
  • FIND now supports indices in 2 coordinate form
  • Various other fixes to problems reported on the forums

Known issues:

  • FFT is only single-precision and will become double-precision once CUFFT gains double-precision support
  • GFOR will abort if used within nested function
  • FFT as well as IFFT supports results only along the first non-singleton dimension. FFT(A,N,dim) gives inconsistent results
  • Result of FFT2 followed by IFFT2 on GPU gives a small img component. This is a precision issue and will be resolved when double-precision FFT are supported
  • Array rearrangement using CIRCSHIFT causes crashes/out of memory in some cases with large array sizes
  • Crash on the following subsref case: a=gones(1,100); b=a([1:48 100])
  • Subscripted assignment into an unallocated matrix is not supported yet: clear A; A(:,:,1) = gones(3,3);

05/15/2009 - v1.0.3

  • Build 839
  • Requires CUDA 2.2 Drivers and Toolkit
  • Primarily a stability release in preparation for GDOUBLE

Additions:

  • Colon operator
  • Subsasgn: complex data

Changes:

  • Major upgrades to general and FFT memory subsystems
  • Major big fixes throughout system (GFOR, subsasgn, ...)

Known issues:

  • GFOR will abort if used within nested function

04/11/2009 - v1.0.2

  • Build 620
  • Requires CUDA 2.1 Drivers and Toolkit

Additions:

Changes:

  • Various fixes from the forums
  • GFOR - various fixes for subscripting and iterator manipulation
  • Handling empty matrices

02/02/2009 - v1.0.1

  • Build 541
  • Requires CUDA 2.1 Drivers and Toolkit

Additions:

Changes:

  • Bug fix: FFT/IFFT correctly operates on ND data
  • Bug fix: GACTIVATE is more robust to manually edited jlicense.dat files

01/26/2009 - v1.0

  • Build 513
  • Requires CUDA 2.1 Drivers and Toolkit

Additions:

  • GFOR (preliminary): simultaneous for-loops on the GPU
  • Trace saving: avoid runtime kernel compilations with this new feature
  • CONVN: only for 3x3x3 kernels and 3D volumes
  • FFTSHIFT/IFFTSHIFT support
  • INTERP2 support
  • Subsreferencing into logical data (still cannot subsasgn)
  • A new FDTD example (used in electromagnetics and seismic applications)
  • A new Monte-Carlo integration simulation example with GFOR
  • New GFOR examples demonstrating matrix multiplication and FFT computations

Changes:

Beta Versions

Old release notes from the beta versions are here: Release Notes (Beta Versions)

Personal tools