CuLab - GPU Toolkit for LabVIEW
Release Notes
V2.2.1.55
Backward Compatibility
This is a minor update which does not break backward compatibility with v6.x.x versions of the toolkit.
Features
-
Added “Boolean Operation” palette with the following functions.
-
CU_Boolean_2in.vi – compound function for different binary(two-input) logical operations.
-
Supported Boolean Operations:
-
AND
-
OR
-
XOR
-
NAND
-
NO
-
XNOR
-
Select X
-
Select Y
-
-
-
CU_Boolean_Not.vi
-
CU_And_Array_Elements.vi
-
CU_Or_Array_Elements.vi
-
-
Added “Comparison Operation” palette with the following functions.
-
CU_Compare_1_Input.vi – compound function for different unary (single-input) comparison operations.
-
Supported Comparison Operations:
-
Equal To 0?
-
Not Equal To 0?
-
Greater Than 0?
-
Greater Or Equal To 0?
-
Less than 0?
-
Less Or Equal To 0?
-
-
Supports all Tensor types, except complex types.
-
-
CU_Compare_2_Inputs.vi – compound function for different binary (two-input) comparison operations.
-
Supported Comparison Operations:
-
Equal?
-
Not Equal?
-
Greater?
-
Greater Or Equal?
-
Less?
-
Less Or Equal?
-
-
Supports all Tensor types.
-
Accepts Comparison with a Constant.
-
-
CU_In_Range_and_Coerce.vi
-
Supports all Tensor types, except complex types.
-
Supports all tensor dimensionalities except T0D.
-
-
CU_Max_Min.vi
-
Supports all Tensor types, except complex types.
-
Supports tensor dimensionalities: T1D, T2D.
-
-
-
Added “Lookup” subpalette in “Array” palette with the following functions.
-
CU_Array_Lookup_by_Index.vi. - Returns a Tensor containing elements of the input Tensor specified by Index Tensor.
-
Supports all tensor dimensionalities except T0D.
-
Supports all Tensor types.
-
-
CU_Array_Lookup_by_Bool.vi.
-
Description: Returns a Tensor containing elements of the input Tensor, that have a value 1 (TRUE) in Boolean input Tensor.
-
Supports all tensor dimensionalities except T0D.
-
Supports all Tensor types, except complex types.
-
-
-
Added the following function in “Array” palette
-
CU_Replace_Array_Elemenets_by_Index_Batch.vi - replaces elements in input Tensor with elements from Sub-Tensor at indices specified in Index-Tensor
-
Supports tensor dimensionalities: T1D, T2D.
-
Accepts all input Tensor types
-
-
-
Added “Utilities” palette with the following function:
-
Get_Exec_Time.vi – Returns the relative current time in seconds, as well as time difference between execution of two instances of this VI.
-
-
Changed the “FFT” subpalette name to “Transforms” and added the following functions.
-
CU_Hilbert_Transform.vi - Computes the fast Hilbert transform of the input Tensor.
-
Accepted input Tensor types: SGL, DBL
-
Supported dimensionalities: T1D
-
-
CU_Analytic_Signal.vi - Computes the complex Analytic Signal of the real-valued input Tensor.
-
Accepted input Tensor types: SGL, DBL
-
Return Tensor types: CSG, CDB
-
Supported dimensionalities: T1D
-
-
Optimizations
-
Significantly improved the performance of CU_Tensor_Create_Push.vi and CU_Tensor_Push.vi.
-
Optimized execution of CU_to_SGL.vi function.
-
Other optimizations.
Extended Functionalities
-
Error Dialog Box returns the full path for call chain.
-
CU_Tensor_Create_Push.vi and CU_Tensor_Push.vi check if Input Tensor and CPU Data Array dimensions match before pushing the data to GPU.
-
The help file was updated to reflect the updated functionalities.
Bug Fixes
-
Fixed array max dimension (65535) issue in CU_Power_Spectrum.vi.
-
CU_Decimate_Single_Shot.vi connector pane changed to match with LabVIEW Decimate Single Shot vi.
-
Changed the name of "CU_Add Array Elements.vi" to "CU_Add_Array_Elements.vi".
-
Other minor fixes.
V2.1.1.50
Backward Compatibility
This is a minor update which does not break backward compatibility with v6.x.x versions of the toolkit.
Features
-
Added Signal Operation subpalette with the following functions.
-
CU_Decimate_Single_Shot.vi
-
Supports 1Ch-1Ch, MCh-1Ch, MCh-MCh modes.
-
Accepts (SGL, DBL, CSG, CDB) Tensor Types.
-
-
CU_Rational_Resampl.vi
-
Supports single channel mode.
-
Accepts (SGL, DBL, CSG, CDB) Tensor Types.
-
-
CU_Convolution.vi
-
Supports 1Ch-1Ch, MCh-1Ch, MCh-MCh modes.
-
Accepts (SGL, DBL, CSG, CDB) Tensor Types.
-
-
Cross_Correlation.vi
-
Supports single channel mode.
-
Accepts (SGL, DBL, CSG, CDB) Tensor Types.
-
-
-
Added a function to the Complex subpalette.
-
CU_Interleaved_to_Complex.vi.
-
Description: Converts interleaved sampled IQ data into complex representation. Designed to minimize data copy overhead during conversion.
-
Supports all tensor dimensionalities except T0D.
-
Accepted input datatypes (I8, U8, I16, U16, I32, U32, I64, U64, SGL, DBL)
-
Supported output datatypes (CSG, CDB)
-
-
-
Added following functions to the Device Management subpalette.
-
CU_Get_GPU_List.vi
-
Returns list of Nvidia GPUs available on the PC.
-
-
CU_Get_GPU_Properties.vi
-
Returns the properties for the selected GPU ID.
-
-
CU_Set_GPU.vi
-
Sets the selected GPU to be active.
-
-
-
Extended Functionalities
-
CU_Sine.vi, CU_Cosine.vi and CU_exponential.vi accept tensors with complex data representations (CSG, CDB) as input.
-
-
The help file was updated to reflect the updated functionalities.
Bug Fixes
-
Fixed array max dimension issue in CU_Transpose_2D_Array.vi.
-
Fixed “Dest in” memory allocation issue in CU_Power_Spectrum.vi.
-
Fixed issue when CU_Square_Root.vi returned incorrect results when imaginary part is 0, and when run in in-place mode.
-
Other minor fixes.
V2.0.1.39
General Description
This version of CuLab toolkit brings new functionalities and improves the performance of existing ones.
Backward Compatibility
This is a minor update which does not break backward compatibility with v6.x.x versions of the toolkit.
Features
-
Added Trigonometric functions
-
Sine
-
Cosine
-
Tangent
-
Cotangent
-
Inverse Sine
-
Inverse Cosine
-
Inverse Tangent
-
Inverse Tangent 2 Input (atan2)
-
Inverse Cotangent
-
Sine & Cosine
-
Sinc
-
-
Added Exponential functions
-
Exponential
-
Exponential Arg -1
-
Logarithm Base 10
-
Logarithm Base 2
-
Logarithm Base X
-
Natural Logarithm
-
Natural Logarithm Arg +1
-
Power Of 10
-
Power Of 2
-
Power Of X
-
Y-th Root of X
-
-
Added Hyperbolic functions
-
Hyperbolic Sine
-
Hyperbolic Cosine
-
Hyperbolic Tangent
-
Hyperbolic Cotangent
-
Inverse Hyperbolic Sine
-
Inverse Hyperbolic Cosine
-
Inverse Hyperbolic Tangent
-
Inverse Hyperbolic Cotangent
-
-
Added missed complex APIs
-
Complex to Polar
-
Polar to Complex
-
Polar to Re/Im
-
Re/Im to Polar
-
-
Added function for Quotient & Remainder
-
Added support for Tensor-Constant operations for binary numeric operations. This allows to choose a CPU based constant as a second operand
-
Added new function generation functions
-
Ramp Pattern
-
Sine Pattern
-
Power Spectrum
-
-
Added support for missing numeric types for numeric operations
-
Redesigned colors for tensor wires to make them distinguishable across numeric types and dimensionality
-
Added batched versions of FFT and IFFT
-
Added spectrum shifting functionality single channel and batched FFT
Optimizations
-
Greatly improved the performance of Real-to-Complex (R2C and D2Z) FFTs
-
Optimized execution times for Complex functions
-
Other optimizations
Bug Fixes
-
Fixed automatic instance selection issue in Array Max Min polymorphic function
-
Fixed memory leakage issue
-
Fixed an error in BLAS benchmarking example
-
Corrected typos
-
Other bug fixes