Simd Library Release Notes (2017).

Home | Release Notes | Download | Documentation | Issues | GitHub | SourceForge

2017 | 2016 | 2015 | 2014 | 2013

September 1, 2017 (version 4.0.57.1091)

Algorithms

New features
  • Base implementation, SSE3, AVX and AVX2 optimizations of function NeuralConvolutionForward.
  • AVX-512F optimization of function NeuralDerivativeSigmoid.
  • AVX-512F optimization of function NeuralRoughTanh.
  • AVX-512F optimization of function NeuralDerivativeTanh.
  • AVX-512F optimization of function NeuralRelu.
  • AVX-512F optimization of function NeuralDerivativeRelu.
  • AVX-512BW optimization of function NeuralConvert.
  • AVX-512F optimization of function NeuralUpdateWeights.
  • AVX-512F optimization of function NeuralAdaptiveGradientUpdate.
  • AVX-512F optimization of function NeuralPooling2x2Max2x2.
  • AVX-512F optimization of function NeuralPooling1x1Max3x3.
  • AVX-512F optimization of function NeuralPooling2x2Max3x3.
  • AVX-512F optimization of function NeuralAddConvolution2x2Forward.
  • AVX-512F optimization of function NeuralAddConvolution2x2Backward.
  • AVX-512F optimization of function NeuralAddConvolution2x2Sum.
  • AVX-512F optimization of function NeuralAddConvolution3x3Forward.
  • AVX-512F optimization of function NeuralAddConvolution3x3Backward.
  • AVX-512F optimization of function NeuralAddConvolution4x4Forward.
  • AVX-512F optimization of function NeuralAddConvolution4x4Backward.
  • AVX-512F optimization of function NeuralAddConvolution5x5Forward.
  • AVX-512F optimization of function NeuralAddConvolution5x5Backward.
  • AVX-512F optimization of function NeuralAddConvolution3x3Sum.
  • AVX-512F optimization of function NeuralAddConvolution4x4Sum.
  • AVX-512F optimization of function NeuralAddConvolution5x5Sum.
  • AVX-512BW optimization of function OperationBinary8u.
  • AVX-512BW optimization of function OperationBinary16i.
  • AVX-512BW optimization of function VectorProduct.
  • AVX-512BW optimization of function AbsDifferenceSum.
  • AVX-512BW optimization of function AbsDifferenceSumMasked.
  • AVX-512BW optimization of function AbsDifferenceSum3x3.
  • AVX-512BW optimization of function AbsDifferenceSum3x3Masked.
  • AVX-512BW optimization of function AbsGradientSaturatedSum.
  • AVX-512BW optimization of function AddFeatureDifference.
  • AVX-512BW optimization of function AlphaBlending.
  • AVX-512BW optimization of function BackgroundGrowRangeSlow.
  • AVX-512BW optimization of function BackgroundGrowRangeFast.
  • AVX-512BW optimization of function BackgroundIncrementCount.
  • AVX-512BW optimization of function BackgroundAdjustRange.
  • AVX-512BW optimization of function BackgroundAdjustRangeMasked.
  • AVX-512BW optimization of function BackgroundShiftRange.
  • AVX-512BW optimization of function BackgroundShiftRangeMasked.
  • AVX-512BW optimization of function BackgroundInitMask.
  • AVX-512BW optimization of function BgraToGray.
  • AVX-512BW optimization of function BgraToBgr.
  • AVX-512BW optimization of function BgraToBayer.
  • AVX-512BW optimization of function BgraToYuv420p.
  • AVX-512BW optimization of function BgraToYuv422p.
  • AVX-512BW optimization of function BgraToYuv444p.
  • AVX-512BW optimization of function BgrToBayer.
  • AVX-512BW optimization of function BgrToBgra.
  • AVX-512BW optimization of function Bgr48pToBgra32.
  • AVX-512BW optimization of function BgrToGray.
  • AVX-512BW optimization of function BgrToYuv420p.
Improving
  • Tail processing in AVX-512F version of function NeuralProductSum.
  • Tail processing in AVX-512F version of function NeuralAddVectorMultipliedByValue.
  • Tail processing in AVX-512F version of function NeuralAddVector.
  • Tail processing in AVX-512F version of function NeuralAddValue.
  • Tail processing in AVX-512F version of function NeuralRoughSigmoid.
  • Tail processing in AVX-512F version of function NeuralRoughSigmoid2.
  • Forward propagation of Neural::ConvolutionLayer.
Bug fixing
  • GCC compiler bug in function Allocator::Alignment.
  • Program crashes in Simd::Detection when small value of parameter scaleFactor is used.
  • ARM FP16 GCC compiler error in file SimdNeonFloat16.cpp.
  • Error in function Neural::MaxPoolingLayer::Forward.

Test framework

New features
  • Tests for verifying functionality of function NeuralConvolutionForward.
  • AVX-512 performance statistic.
  • Tests for verifying functionality of AVX-512F version of function NeuralDerivativeSigmoid.
  • Tests for verifying functionality of AVX-512F version of function NeuralRoughTanh.
  • Tests for verifying functionality of AVX-512F version of function NeuralDerivativeTanh.
  • Tests for verifying functionality of AVX-512F version of function NeuralRelu.
  • Tests for verifying functionality of AVX-512F version of function NeuralDerivativeRelu.
  • Tests for verifying functionality of AVX-512BW version of function NeuralConvert.
  • Tests for verifying functionality of AVX-512F version of function NeuralUpdateWeights.
  • Tests for verifying functionality of AVX-512F version of function NeuralAdaptiveGradientUpdate.
  • Tests for verifying functionality of AVX-512F version of function NeuralPooling2x2Max2x2.
  • Tests for verifying functionality of AVX-512F version of function NeuralPooling1x1Max3x3.
  • Tests for verifying functionality of AVX-512F version of function NeuralPooling2x2Max3x3.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution2x2Forward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution2x2Backward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution2x2Sum.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution3x3Forward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution3x3Backward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution4x4Forward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution4x4Backward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution5x5Forward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution5x5Backward.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution3x3Sum.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution4x4Sum.
  • Command line parameters -w and -h to set width and height of test image.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddConvolution5x5Sum.
  • Tests for verifying functionality of AVX-512BW version of function OperationBinary8u.
  • Tests for verifying functionality of AVX-512BW version of function OperationBinary16i.
  • Tests for verifying functionality of AVX-512BW version of function VectorProduct.
  • Tests for verifying functionality of AVX-512BW version of function AbsDifferenceSum.
  • Tests for verifying functionality of AVX-512BW version of function AbsDifferenceSumMasked.
  • Tests for verifying functionality of AVX-512BW version of function AbsDifferenceSum3x3.
  • Tests for verifying functionality of AVX-512BW version of function AbsDifferenceSum3x3Masked.
  • Tests for verifying functionality of AVX-512BW version of function AbsGradientSaturatedSum.
  • Tests for verifying functionality of AVX-512BW version of function AddFeatureDifference.
  • Tests for verifying functionality of AVX-512BW version of function AlphaBlending.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundGrowRangeSlow.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundGrowRangeFast.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundIncrementCount.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundAdjustRange.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundAdjustRangeMasked.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundShiftRange.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundShiftRangeMasked.
  • Tests for verifying functionality of AVX-512BW version of function BackgroundInitMask.
  • Tests for verifying functionality of AVX-512BW version of function BgraToGray.
  • Tests for verifying functionality of AVX-512BW version of function BgraToBgr.
  • Tests for verifying functionality of AVX-512BW version of function BgraToBayer.
  • Tests for verifying functionality of AVX-512BW version of function BgraToYuv420p.
  • Tests for verifying functionality of AVX-512BW version of function BgraToYuv422p.
  • Tests for verifying functionality of AVX-512BW version of function BgraToYuv444p.
  • Tests for verifying functionality of AVX-512BW version of function BgrToBayer.
  • Tests for verifying functionality of AVX-512BW version of function BgrToBgra.
  • Tests for verifying functionality of AVX-512BW version of function Bgr48pToBgra32.
  • Tests for verifying functionality of AVX-512BW version of function BgrToGray.
  • Tests for verifying functionality of AVX-512BW version of function BgrToYuv420p.
Bug fixing
  • An error in function NeuralAddConvolutionAutoTest.
Home

August 1, 2017 (version 3.6.56.1005)

Algorithms

New features
  • Base implementation, SSE, AVX, AVX2 and NEON optimizations of function NeuralAddConvolution4x4Forward.
  • Base implementation, SSE, AVX, AVX2 and NEON optimizations of function NeuralAddConvolution2x2Backward.
  • Base implementation, SSE, AVX, AVX2 and NEON optimizations of function NeuralAddConvolution4x4Backward.
  • Base implementation, SSE, SSE3, AVX, AVX2 and NEON optimizations of function NeuralAddConvolution2x2Sum.
  • Base implementation, SSE, SSE3, AVX, AVX2 and NEON optimizations of function NeuralAddConvolution4x4Sum.
  • AVX2 optimization of function NeuralAddConvolution3x3Backward.
  • AVX2 optimization of function NeuralAddConvolution5x5Backward.
  • DrawPolygon function.
  • DrawFilledRectangle function.
  • DrawEllipse function.
  • DrawCircle function.
  • AVX-512F optimization of function NeuralAddVectorMultipliedByValue.
  • AVX-512F optimization of function NeuralAddVector.
  • AVX-512F optimization of function NeuralAddValue.
  • AVX-512F optimization of function NeuralProductSum.
  • AVX-512F optimization of function NeuralRoughSigmoid.
  • AVX-512F optimization of function NeuralRoughSigmoid2.
  • SimdCpuInfo function.
  • Parameters poolingStride and poolingPad in constructor of Neural::MaxPoolingLayer.
  • Parameters poolingStride and poolingPad in constructor of Neural::AveragePoolingLayer.
  • Base implementation, SSE, AVX2 and NEON optimizations of function NeuralPooling2x2Max3x3.
  • Abstract class Neural::PoolingLayer.
  • Base implementation, SSE, AVX2 and NEON optimizations of function NeuralPooling1x1Max3x3.
Improving
  • Removed restriction of input image size in function NeuralPooling2x2Max2x2.
Renaming
  • Function NeuralMax2x2 to NeuralPooling2x2Max2x2.

Test framework

New features
  • Tests for verifying functionality of function NeuralAddConvolution4x4Forward.
  • Tests for verifying functionality of function NeuralAddConvolution2x2Backward.
  • Tests for verifying functionality of function NeuralAddConvolution4x4Backward.
  • Tests for verifying functionality of function NeuralAddConvolution2x2Sum.
  • Tests for verifying functionality of function NeuralAddConvolution4x4Sum.
  • Tests for verifying functionality of AVX2 version of function NeuralAddConvolution3x3Backward.
  • Tests for verifying functionality of AVX2 version of function NeuralAddConvolution5x5Backward.
  • Special tests for verifying functionality of function DrawPolygon.
  • Special tests for verifying functionality of function DrawFilledRectangle.
  • Special tests for verifying functionality of function DrawFilledPolygon.
  • Special tests for verifying functionality of function DrawEllipse.
  • Special tests for verifying functionality of function DrawCircle.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddVectorMultipliedByValue.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddVector.
  • Tests for verifying functionality of AVX-512F version of function NeuralAddValue.
  • Tests for verifying functionality of AVX-512F version of function NeuralProductSum.
  • Tests for verifying functionality of AVX-512F version of function NeuralRoughSigmoid.
  • Tests for verifying functionality of AVX-512F version of function NeuralRoughSigmoid2.
  • Tests for verifying functionality of function NeuralPooling2x2Max3x3.
  • Tests for verifying functionality of function NeuralPooling1x1Max3x3.

Infrastructure

New features
  • Avx512f section for AVX-512F extension (CMake and Visual Studio).
  • Avx512bw section for AVX-512BW extension (CMake and Visual Studio).

Documentation

Bug fixing
  • Error in the library description.
Home

July 4, 2017 (version 3.6.55.971)

Algorithms

New features
  • NEON optimization of function Float32ToFloat16.
  • NEON optimization of function Float16ToFloat32.
  • NEON optimization of function SquaredDifferenceSum16f.
  • NEON optimization of function Float32ToUint8.
  • NEON optimization of function Uint8ToFloat32.
  • NEON optimization of function NeuralAddVector.
  • NEON optimization of function NeuralAddValue.
  • NEON optimization of function HogDeinterleave.
  • NEON optimization of function HogFilterSeparable.
  • NEON optimization of function HogExtractFeatures.
  • Base implementation, SSE, AVX, AVX2 and NEON optimizations of function NeuralAddConvolution2x2Forward.
Bug fixing
  • Clang specific: using of unknown compiler options.
  • Error in AVX2 optimization of function HogFilterSeparable.

Test framework

New features
  • Tests for verifying functionality of NEON version of function Float32ToFloat16.
  • Tests for verifying functionality of NEON version of function Float16ToFloat32.
  • Tests for verifying functionality of NEON version of function SquaredDifferenceSum16f.
  • Tests for verifying functionality of NEON version of function Float32ToUint8.
  • Tests for verifying functionality of NEON version of function Uint8ToFloat32.
  • Tests for verifying functionality of NEON version of function NeuralAddVector.
  • Tests for verifying functionality of NEON version of function NeuralAddValue.
  • Tests for verifying functionality of NEON version of function HogDeinterleave.
  • Tests for verifying functionality of NEON version of function HogFilterSeparable.
  • Tests for verifying functionality of NEON version of function HogExtractFeatures.
  • Tests for verifying functionality of function NeuralAddConvolution2x2Forward.
Bug fixing
  • Clang compiler error in file TestImageMatcher.
  • Compiler warning in file TestHog.
Home

June 1, 2017 (version 3.6.54.954)

Algorithms

New features
  • Base implementation, SSE and AVX optimizations of function NeuralAddValue.
  • Optional random shuffle of training set in Neural::Train.
  • Function DrawFilledPolygon.
  • AVX2 optimization of function NeuralAddConvolution3x3Forward.
  • Base implementation and AVX2 optimizations of function Float32ToFloat16.
  • Base implementation and AVX2 optimizations of function Float16ToFloat32.
  • Base implementation and AVX2 optimizations of function SquaredDifferenceSum16f.
  • New constructor in structure Frame.
  • MSA optimization of function OperationBinary8u.
  • MSA optimization of function OperationBinary16i.
  • Base implementation, SSE2 and AVX2 optimizations of function Float32ToUint8.
  • Base implementation, SSE2 and AVX2 optimizations of function Uint8ToFloat32.
  • Base implementation, SSE and AVX2 optimizations of function HogFilterSeparable.
  • Base implementation, SSE and AVX2 optimizations of function HogDeinterleave.
Improving
  • Forward and backward propagation in Neural::ConvolutionalLayer for core size 1x1.
Bug fixing
  • Error in method Neural::FullyConnectedLayer::Forward.
  • Compiler error in file SimdDetection.hpp.
  • Clang compiler warning in file SimdDrawing.hpp.

Test framework

New features
  • Tests for verifying functionality of function NeuralAddValue.
  • Tests for verifying functionality of AVX2 version of function NeuralAddConvolution3x3Forward.
  • Tests for verifying functionality of function Float32ToFloat16.
  • Tests for verifying functionality of function Float16ToFloat32.
  • Tests for verifying functionality of function SquaredDifferenceSum16f.
  • Tests for verifying functionality of MSA version of function OperationBinary8u.
  • Tests for verifying functionality of MSA version of function OperationBinary16i.
  • Tests for verifying functionality of function Float32ToUint8.
  • Tests for verifying functionality of function Uint8ToFloat32.
  • Tests for verifying functionality of function HogFilterSeparable.
  • Tests for verifying functionality of function HogDeinterleave.

The use examples

New features
  • An example how to detect faces with using of Simd::Detection in the video captured by OpenCV.

Documentation

New features
  • An example how to detect faces with using of Simd::Detection in the video captured by OpenCV.
Bug fixing
  • Doxygen warning in file SimdRectangle.hpp.

Infrastructure

New features
  • Use.vcxprj (Visual Studio 2015 project) for the use examples.
  • Added to CMakeLists.txt a section for building of the library for MIPS CPU architecture.
  • Msa project for MIPS MSA extension (CMake and Visual Studio).
  • Refactoring of CMakeLists.txt.
Home

May 2, 2017 (version 3.6.53.927)

Algorithms

New features
  • CrossEntropy loss function type in Neural framework.
  • Improving of SSE4.1 optimization of function HogDirectionHistograms.
  • Improving of AVX2 optimization of function HogDirectionHistograms.
  • Base implementation, SSE4.1 and AVX2 optimizations of function HogExtractFeatures.
  • Improving performance of method Neural::Network::Load.
  • Not square shape of convolution core in Neural::ConvolutionalLayer.
  • Class Neural::AveragePoolingLayer.
  • Parameter regionAreaMin in method ShiftDetector::Estimate.
  • Base implementation, SSE and AVX optimizations of function NeuralAddVector.
Renaming
  • Function NeuralAddConvolution3x3 to NeuralAddConvolution3x3Forward.
  • Function NeuralAddConvolution5x5 to NeuralAddConvolution5x5Forward.
  • Function NeuralAddConvolution3x3Back to NeuralAddConvolution3x3Backward.
  • Function NeuralAddConvolution5x5Back to NeuralAddConvolution5x5Backward.
Bug fixing
  • Compiler warning in ImageMatcher structure.
  • GCC compiler error in Neural::Function structure.
  • Visual Studio 2017 compiler warning in function Shift::InitLevels.
  • Visual Studio 2017 compiler warning in function Avx2::TexturePerformCompensation.
  • Float point number overflow in function Neural::Function::SoftmaxFunction.
  • Float point number overflow in function Avx2::HogDirectionHistograms.
  • Compiler error in SimdEnable.h on PowerPC platform.
  • Program crash in function Int16ToGray.

Test framework

New features
  • Tests for verifying functionality of function HogExtractFeatures.
  • Additional special tests for verifying functionality of Neural framework.
  • Tests for verifying functionality of function NeuralAddVector.

Documentation

Improving
  • Description of interaction Simd Library and OpenCV.
  • Download link to current master on GitHub.
Changes
  • Changed location of help documentation (./docs/ instead of ./doc/).
Bug fixing
  • An error in Doxygen's description of ImageMatcher structure.
  • An error in Doxygen's header and footer HTML template files.

Infrastructure

New features
  • Visual Studio 2017 solution for Windows.
  • Visual Studio 2017 solution for Android.
Changes
  • Changed location of scripts for help generation and release building.
  • Changed project site location (from http://simd.sourceforge.net to http://ermig1979.github.io/Simd).
Bug fixing
  • Removing of unwanted files in release build script.
  • Incorrect path to save build log in Visual Studio 2017.
  • Error in UpdateCopyrights.cmd script.
Home

April 3, 2017 (version 3.5.52.900)

Algorithms

New features
  • ImageMatcher structure.
  • Improving of AVX2 optimization of function HogDirectionHistograms.
  • dstStride parameter in function NeuralConvert.
  • Softmax activation function type in Neural framework.
  • CrossEntropyMulticlass loss function type in Neural framework.
Bug fixing
  • Link error in function Simd::Neural::Detail::InitWeight.

Test framework

New features
  • Special tests for verifying functionality of structure ImageMatcher.

Infrastructure

New features
  • UpdateCopyrights.cmd script.
Home

March 2, 2017 (version 3.4.51.886)

Algorithms

New features
  • Function Simd::ReduceGray.
Improving
  • Using of Simd::Parallel in Simd::Detection instead of its own implementation of multithreading.
  • Improving of AVX2 optimization of function Binarization.
  • Improving of AVX2 optimization of function AveragingBinarization.
  • Improving of AVX2 optimization of function ConditionalFill.
  • Improving of AVX2 optimization of function HogDirectionHistograms.
  • Improving of AVX2 optimization of function SegmentationChangeIndex.
  • Improving of AVX2 optimization of function SegmentationPropagate2x2.
  • Improving of AVX2 optimization of function SegmentationFillSingleHoles.
  • Improving of SSE4.1 optimization of function DetectionLbpDetect32fp.
  • Improving of SSE4.1 optimization of function DetectionLbpDetect32fi.
  • Improving of SSE4.1 optimization of function DetectionLbpDetect16ip.
  • Improving of SSE4.1 optimization of function DetectionLbpDetect16ii.
Changes
  • Enumeration SimdReduceType instead of enumeration Simd::Pyramid::BuildType.
  • Function Simd::Fill instead of method Simd::Pyramid::Fill.
  • Function Simd::Build instead of method Simd::Pyramid::Build.
  • Refactoring (template parameter Allocator) in structure View and connected with it functions and structures.
Bug fixing
  • Clang compiler error in View struct.
  • Clang compiler error in Frame struct.
  • Clang compiler error in Pixel file.
  • Clang compiler error in ContourDetector struct.
  • Clang specific bug in AVX2 optimization of functions BgrToGray and BgrToBgra.
  • Clang compiler error in function Sse2::ExtractInt32Sum on OSX.
  • GCC build error on Aarch64.
  • Error in base implementation of function FillBgr on Aarch64.
  • Error in base implementation of function FillBgra on Aarch64.

Infrastructure

New features
  • Compatibility with Clang C++ compiler.
  • Compatibility with Aarch64 platform.
Home

February 2, 2017 (version 3.4.50.872)

Algorithms

New features
  • ContourDetector structure.
  • DrawLine function.
  • DrawRectangle function.
  • ShiftDetector structure.

Test framework

New features
  • Special tests for verifying functionality of structure ContourDetector.
  • Special tests for verifying functionality of function DrawLine.
  • Special tests for verifying functionality of function DrawRectangle.
  • Special tests for verifying functionality of structure ShiftDetector.
Bug fixing
  • Incorrect common statistic of influence of memory alignment.
Home

January 3, 2017 (version 3.3.49.861)

Algorithms

New features
  • Base implementation, SSE2, AVX2 and NEON optimizations of function Int16ToGray.
  • SSE2, AVX2 and NEON optimizations of function HistogramConditional.
  • Neural::DropoutLayer.
  • AVX2 optimization of function NeuralProductSum.
  • Extended functionality of function OperationBinary8u (added bitwise OR operation).
  • AVX2 optimization of function NeuralAddVectorMultipliedByValue.
  • Added operator + (const Rectangle &, const Rectangle &).
Improving
  • Improving of AVX2 optimization of function NeuralAddConvolution5x5.
  • Improving of AVX2 optimization of function NeuralAddConvolution5x5Sum.
  • Improving of AVX2 optimization of function NeuralAddConvolution3x3Sum.
Bug fixing
  • GCC compiler error in file SimdAvx2Neural.
  • Crash during restoring of training process in function Neural::Train.
  • Visual Studio 2013 compiler bug in file SimdAvx2Neural.

Test framework

New features
  • Tests for verifying functionality of function Int16ToGray.
  • Tests for verifying functionality of AVX2 version of function NeuralProductSum.
  • Tests for verifying functionality of AVX2 version of function NeuralAddVectorMultipliedByValue.

Infrastructure

Bug fixing
  • SimdVersion.h generation error in CMakeLists.txt.
Home
2017 | 2016 | 2015 | 2014 | 2013