Releases: SX-Aurora/nlcpy
v3.0.1
This is the release note of v3.0.1
Changelog
Problem Fixes
-
Fixed incorrect execution results of nlcpy.fft.fftshift() and nlcpy.fft.ifftshift() that are returned when the number of array dimensions is larger than 1 and the input parameter of axis is not equal to 0.
-
Fixed incorrect execution results of nlcpy.linalg.norm() that are returned when the number of VE threads is larger than 1 and the memory layout of input array is not contiguous.
-
Fixed a problem where nlcpy.diff() raises unexpected RuntimeWarning.
v3.0.0
v2.2.0
This is the release note of v2.2.0
Changelog
New Features
- Newly added VE device management routines, which enable you to select execution VE device from Python script.
- Newly added environment variable VE_NLCPY_MEMPOOL_SIZE which controls amount of memory pool.
- Newly supports a feature that NLCPy automatically replaces almost functions and methods that implemented not yet to the NumPy’s one.
Performance Enhancements
- Improved the performance of nlcpy.power() and nlcpy.floor_divide() when input data types are complex.
v2.1.1
This is the release note of v2.1.1
Changelog
New Features
- Newly added environment variable VE_NLCPY_WARMUP which enables/disables Python scripts to perform some warming up when importing NLCPy.
- Minor updates for mpi4py-ve support.
Performance Enhancements
- Improved the performance of nlcpy.linalg.norm() if the Frobenius norm is specified.
- Improved the performance of some functions if the memory layout is C-contiguous or F-contiguous.
v2.1.0
This is the release note of v2.1.0
Note
NLCPy v2.1.0 requires to install the RPM version later than or equal to nec-blas-ve-2.3.0-2.5.
Changelog
New Features
- Newly added Just-In-Time compilation functionality, which enables your Python scripts to call VE functions written by C/C++/Fortran.
- Newly added Masked Array operations.
Performance Enhancements
- Improved the performance of nlcpy.ndarray.__getitem__() with list, tuple, or nlcpy.ndarray elements.
- Improved the performance of nlcpy.linalg.eigvalsh().
v2.0.0
This is the release note of v2.0.0
Changelog
New Features
-
Newly added SCA Interface, which enables Python scripts to call SCA functions of NEC Numeric Library Collection.
-
Newly added the profiling routines with FTRACE.
-
Newly added the following functions.
- nlcpy.save()
- nlcpy.savetxt()
- nlcpy.savez()
- nlcpy.savez_compressed()
- nlcpy.roll()
- nlcpy.swapaxes()
- nlcpy.unique()
- nlcpy.count_nonzero()
- nlcpy.broadcast_arrays()
- nlcpy.diag_indices()
- nlcpy.diagflat()
- nlcpy.tri()
- nlcpy.tril()
- nlcpy.triu()
- nlcpy.fill_diagonal()
- nlcpy.hsplit()
- nlcpy.vsplit()
- nlcpy.split()
- nlcpy.atleast_1d()
- nlcpy.atleast_2d()
- nlcpy.atleast_3d()
- nlcpy.block()
- nlcpy.clip()
- nlcpy.select()
- nlcpy.nanargmax()
- nlcpy.nanargmin()
Performance Enhancements
- Improved the overall performance of NLCPy by applying asynchronous VE function calls.
- Improved the performance of reduction operations such as nlcpy.sum(), nlcpy.amax(), and nlcpy.amin().
v1.0.1
This is the release note of v1.0.1
Changelog
Problem Fixes
-
Fixed abnormal termination that could occur when a Python script using NLCPy is executed by a batch scheduler.
-
Fixed a problem that stalls when a multi-dimensional ndarray is specified as a parameter to nlcpy.sort() .
Function Enhancements
- Improved a part of the memory allocation logic during the lazy evaluation.
v1.0.0
This is the release note of v1.0.0
Changelog
New Features
Newly added the following functions and methods.
Descrete Fourier Transform
- nlcpy.fft.fft()
- nlcpy.fft.ifft()
- nlcpy.fft.fft2()
- nlcpy.fft.ifft2()
- nlcpy.fft.fftn()
- nlcpy.fft.ifftn()
- nlcpy.fft.rfft()
- nlcpy.fft.irfft()
- nlcpy.fft.rfft2()
- nlcpy.fft.irfft2()
- nlcpy.fft.rfftn()
- nlcpy.fft.irfftn()
- nlcpy.fft.hfft()
- nlcpy.fft.ihfft()
- nlcpy.fft.fftfreq()
- nlcpy.fft.rfftfreq()
- nlcpy.fft.fftshift()
- nlcpy.fft.ifftshift()
Linear Algebra
- nlcpy.inner()
- nlcpy.outer()
- nlcpy.linalg.svd()
- nlcpy.linalg.cholesky()
- nlcpy.linalg.qr()
- nlcpy.linalg.eig()
- nlcpy.linalg.eigh()
- nlcpy.linalg.eigvals()
- nlcpy.linalg.eigvalsh()
- nlcpy.linalg.norm()
- nlcpy.linalg.solve()
- nlcpy.linalg.lstsq()
- nlcpy.linalg.inv()
- nlcpy.linalg.LinAlgError()
Array Creation Routines
- nlcpy.meshgrid()
- nlcpy.logspace()
Array Manipulation Routines
- nlcpy.copyto()
- nlcpy.hstack()
- nlcpy.stack()
- nlcpy.vstack()
- nlcpy.append()
- nlcpy.delete()
- nlcpy.insert()
- nlcpy.fromfile()
- nlcpy.loadtxt()
- nlcpy.load()
- nlcpy.flip()
- nlcpy.fliplr()
- nlcpy.flipud()
- nlcpy.repeat()
Statistics Routines
- nlcpy.ptp()
- nlcpy.percentile()
- nlcpy.nanpercentile()
- nlcpy.quantile()
- nlcpy.nanquantile()
- nlcpy.nanmedian()
- nlcpy.correlate()
- nlcpy.histogram()
- nlcpy.histogram2d()
- nlcpy.histogramdd()
- nlcpy.histogram_bin_edges()
- nlcpy.bincount()
- nlcpy.digitize()
Mathematical Functons
- nlcpy.prod()
Ndarray Methods
- nlcpy.ndarray.ptp()
- nlcpy.ndarray.mean()
- nlcpy.ndarray.var()
- nlcpy.ndarray.std()
- nlcpy.ndarray.conj()
- nlcpy.ndarray.conjugate()
- nlcpy.ndarray.cumsum()
- nlcpy.ndarray.dot()
- nlcpy.ndarray.prod()
Problem Fixes
Fixed abnormal termination that could occur when a large amount of memory were allocated.
v1.0.0b2
This is the release note of v1.0.0b2
Changelog
Performance enhancements
- Improved performance of universal functions with multi-dimensional arrays.
- Improved performance of broadcasting operations from a scalar value to an ndarray.
- Improved performance of nlcpy.arccos() and nlcpy.arctanh().
- Improved performance of random number generators by changing the number of threads to be execeted on VE.
Bug fixes
- Fixed a bug in nlcpy.sort() that might cause a freeze of Python interpreter at the end of the program.
- Fixed a bug in nlcpy.matmul() that returned invalid results when input ndarrays (a and b) fulfill any of the following conditions:
- a.flags.c_congituous is False and a.flags.f_contiguous is False
- b.flags.c_congituous is False and b.flags.f_contiguous is False
- Fixed a bug in nlcpy.prof.print_run_stats() that might showed negative elapsed time.