Version | Date | Changes |
v0.4.2.1 Docs | 20.09.2021 |
Breaking Changes
- Starting with v0.4.2.1 SOL requires every user to accept the license
agreements. This is handled during installation of SOL and should be fully
automatic. The SOLrepository server will issue a digitally signed license file
that is installed into the SOL installation directory. You can find a copy of
the license agreement it in the
/path/to/sol folder AND you'll
receive a copy via e-mail. This license is valid for 1-year and needs to be
renewed using the installer once expired.
- We completely overhauled the SOL installer to be a menu-based implementation,
to make it easier shape the SOL installation to user needs.
Closed Issues
- #380 [Installer] User License Agreements
- #373 [Deploy] Fix Python API
- #372 [License] Add SOL license agreement feature
- #371 [ISPC] Update to 1.16.1
- #370 [Licenses] Add licences of used software to SOL distribution and docs
- #369 [TensorFlow] "Dimensions must be equal, but ..." error during training
- #365 [DFP] max/min reduction stores wrong index for gradient
- #361 [PyTorch] aten::mse_loss is missing
- #359 [Installer] installer always tries to install module x86
- #358 [PyTorch] Missing aten::l1_loss
- #357 [PyTorch] Missing aten::broadcast_tensors
|
v0.4.2 Docs | 12.07.2021 |
Highlights
- Added TensorFlow v2 support
- Added experimental Cross-Framework support
Breaking Changes
Closed Issues
- #356 [PyTorch] Include bugfixes for PyTorch RNN, LP Pool and Padding
- #354 [PyTorch] fix gradient of SIGN function and fix SIGN(0) case
- #353 [HLIR] Why do we store Constant copies?
- #352 [Runtime] [Input Error grad_outputs:0] Expected [1, 0, 0, 0, 0, 0, 0, 0] but found [0, 0, 0, 0, 0, 0, 0, 0]
- #351 [PyTorch] allow parsing of custom model function
- #350 [DNNL] Memory Descriptor error in ResNext
- #349 [PyTorch] use unique() instead of debugName() in TorchScript
- #348 [PyTorch] Enable KWARGS in TorchScript parser
- #347 [DFP] nn.Conv2d(cin, cout, 1, stride=2, bias=True, groups=groups) fails in BWD
- #346 [DFP] Test PY_AvgPool2d#2 fails in Backward Pass
- #345 [DFP] enable struct conditionals for new pooling implementation
- #344 [DFP] deprecate scoped conditionals
- #343 [SQLITE] Upgrade to 3.36.0
- #342 [HLIR] replace internal LPPool with more high level implementation
- #341 [DFP] AvgPool(3,3) on tensor(1, 1, 15, 15) seems to produce wrong gradient.
- #340 [VEBLAS] RNNCells do not compile
- #339 [TF] Race condition in VE-Native execution during Training
- #338 [TF] Training on X86 fails with "Assertion `t.dtype() == DType_::value' failed"
- #337 [TF] frees inputs between fwd and bwd pass
- #336 [TF] VE Native integration allocates unaligned CPU pointers?
- #335 [DFP] SqueezeNet BWD Pass can create invalid offsets
- #334 [Transparent Offloading] memory corruption during training
- #333 [Plugin] SOL tries to load non existing libsol-framework-te.so because of wrong regex expression
- #330 [PyTorch/Numpy] Remove framework dependent input shape checks
- #328 [Runtime] Move Shape checks from frontends to core-runtime
- #325 [PyTorch] TorchScript RNN Networks
- #324 [TF] ".local/lib/python3.6/site-packages/tensorflow/include/tensorflow/core/platform/refcount.h:90] Check failed: ref_.load() == 0 (1 vs. 0)"
- #323 [VE] native-ve extension functions produce wrong results with large tensor sizes
- #322 [API] remove updateSize callbacks
- #320 [TF] Hook up to TF's Memory Allocator
- #318 [PyTorch] TorchScript parse problems for torch.nn.LPPool*D, torch.nn.functional.lp_pool*d
- #317 [PyTorch] TorchScript Parser can't return varying model outputs...
- #316 [PyTorch] Replace parser with TorchScript based implementation
- #314 [PyTorch] Update to v1.9.0
- #313 [TF] SOL_LOG=TRACE fails in PluggableDevice TF implementation
- #312 [CMake] Add Python dependencies to Dependencies CMake
- #311 [ISPC] Update to 1.16.0
- #310 [DFP] Fix Padding
- #309 [DFP] Can't execute BatchNorm without Weight+Bias
- #305 [DFP] Fix Boundary checks for Max_Pooling in Kernel: 1, Stride: 2, Padding: Valid cases in TF
- #304 [PyTorch] add is_inf and is_nan
- #303 [Docs] Add description how to use GDB Debugging
- #301 [PyTorch] Move X86 and CUDA-API from TH(C) to ATen Interface
- #297 [AVEO] URPC_SHM_SEGID on RHEL8
- #296 [TF] argmax + argmin return indicies in different format
- #295 [TF] HardSigmoid fails
- #294 [TF] tf.keras.layer.Permute(1, 3, 2) fails
- #291 [TF] tf.math.reduce_prod
- #290 [Python] Change HLIR implementation from class based to function based implementation
- #287 [PyTorch] demote version exception to warning and throw instead only if the VE is used
- #286 [DFP] Move Reorder Transformation into DFP Backend and don't do it in the Algo postprocessing
- #282 [VEDNN] Enable NHWC Convolutions
- #281 [HLIR] Enable Convs with NCP input and PIO Parameters
- #280 [DNNL] Problem executing NHWC Convolutions
- #279 [TF] Conv uses always PIO weights, even with channels_first?
- #277 [TF] Why does TF return tf.EagerTensor and SOL returns np.ndarray?
- #274 [Python] Implement cross framework execution, i.e. to run TensorFlow model within PyTorch
- #273 [TensorFlow] add VE device plugin
- #272 [TensorFlow] implement param preprocessing
- #270 [NEC-SOL] add option to use "pip" instead of "pip3"
- #269 [NEC-SOL] add --trust option for trusting dav.neclab.eu repository
- #268 [TF] Enable multi-input models
- #231 [HLIR/DFP] Move HLIR-Loops to DFP-IR
- #216 [Python] rename sol.internal to sol.hlir
- #200 [Python] Make RNNCells to 1-layer 1-seq RNNs!
- #171 [Runtime] store ptr and sizes in sol_ref
- #115 [DFP] Bwd Accumulation sometimes not working properly
- #3 TensorFlow v2 Support
|
v0.4.1 Docs | 06.05.2021 |
Breaking Changes
- Installation routine has changed, please refer the installation guide.
- Behavior of
sol.backends.X has changed and does no longer take attributes of sol.backends.X but strings.
- Behavior of
sol.devices.X has changed and does no longer take attributes of sol.devices.X but strings. I.e. sol.device.set(sol.device.ve, 0) is now sol.device.set('ve', 0)
Closed Issues
- #266 [CUDNN] CUDA_STATUS_ARCH_MISMATCH in pytorch.layers.conv2d testcase
- #265 [SQLite] Upgrade 3.35.5
- #264 [HLIR] Reductions get sometimes removed if the dimensions input size is unknown at compile time
- #263 [VEBLAS] Wrong results with LSTM w/ bias using NCC 3.2.0
- #262 [Docs] Add docs.sol-project.org subdomain
- #261 [Pytorch] Can't parse PyTorchic BERT
- #260 [PyTorch] Addbmm problem with varidic batch size
- #258 [AutoTuning] GEMMBackend fails when using variable batchsize
- #256 [VEBLAS] Autotuning crashes because of missing Handle?
- #255 [CUDNN] Bundle Libs to sol-backend-cudnn
- #254 [SDK] Generate SOL SDK
- #253 [CMake] Prevent DL4J from constant rebuilding
- #252 [WHL] enable to install all packages directly from PyPI AND locally
- #251 [PyTorch] add torch.Tensor.hip()
- #250 [PyTorch] torch.tensor.masked_scatter missing
- #249 [DFP] Inception fails in newest build
- #247 [DNNL] Compile shared library if WITH_DEPLOYMENT is activated
- #246 [Deployment] update to new plugin based API
- #245 [ISPC] fix detection of AVX512 extensions
- #244 [Plugins] Add Version Check to all SOL Plugins!
- #242 [VE] Check if DeviceHandle::reduce still requires the AVEO workaround.
- #241 [Tests] Add --help option
- #240 [Core] Add Option to add custom backends to SOL
- #238 [Jit] Move device specific library paths into the corresponding compilers!
- #237 [Core] Refactor Device/Backend System to sideload new backends without rebuilding SOL core components
- #236 [CUDNN] bundle libcudnn with SOL!
- #235 [SQLite] Update to v3.35.4
- #233 [PyTorch] Update to 1.8.1
- #232 [Cache] sol.cache.clear should delete .sol folder
- #229 [PyTorch] torch.tensor.masked_fill_ missing
- #228 [PyTorch] torch.tensor.cumsum missing
- #227 [PyTorch] Binding for pow() is incorrect
- #226 [SQLite] Update to 3.35.2
- #224 [CUDA] Add Struct Reductions
- #219 [PyTorch] Kill application from Python API if different version has detected, as the C library cannot be loaded if the API has changed
- #206 [Linking] Densenet Linking sometimes dies with GCC/NCC, possibly out of memory?
- #195 [HLIR] Match ALGO API to Layer API
- #162 [Python] Move Tensor Operators from PyTorch to Python API
|
v0.4.0.2 Docs | 10.03.2021 |
Minor bugfix release.
- #223 [PyTorch] Problem parsing Huggingface BERT
- #222 [CUDNN] Upgrade to CUDNN 8
- #221 [CUDA] Add support for SM80 and SM86 architectures
- #220 [CUDA] Allow linking against different versions of CUDA
|
v0.4.0.1 Docs | 08.03.2021 |
Minor bugfix release.
- #217 [Transparent Offload] Crashes in 2nd run of model
|
v0.4.0 Docs | 08.03.2021 |
This is a major release for SOL coming with a series of new features, i.e. ONNX support, RNNs (for SX-Aurora only for now), AdaptivePooling, improved performance, better accuracy for BatchNorms and MeanReductions and many more.
Breaking Changes
- We no longer distribute the SOL images via GitLab. Please follow the installation steps described here.
- SOL API no longer requires to explicitly include the correct interface, i.e.
import sol.pytorch as sol . Instead just import sol and SOL will automatically detect the type of your model.
- The API for
sol.deploy(...) has been simplified, please checkout the Deployment documentation.
Closed Issues
- #2 Recurrent Neural Networks (RNNs)
- #9 Adaptive[Avg/Max]Pooling only works if it can be transformed into a normal Pooling
- #49 [DFP] Can't use reduction for MaxPooling
- #53 ONNX Support
- #66 [Docs] add ONNX docs
- #68 [DFP] missing gradient: MOD
- #86 [PIP] Solve name clash with public PYPI repo
- #92 [DFP] IDX not used in code generation
- #95 [PyTorch] Upgrade to 1.7.0
- #98 [DFP] SoftMax might produce uncompileable code
- #103 [DFP] Multi-Value Reductions
- #107 [GCC] Error compiling with GCC v4.8.5
- #109 [DFP] wrong gradient for SoftPlus
- #116 [PyTorch] Arange producing wrong results if non-integer values used
- #118 [Python] using dict for input/output causes randomized SOL hashes
- #119 [PyTorch] Double check API calls, if they have changed in last upgrade
- #121 [PyTorch] Missing Tests
- #122 [PyTorch] HugginFace BERT stopped working
- #124 [HuggingFace] Bert dimension mismatch
- #125 [Core] Check for Memleaks
- #126 [DL4J] Upgrade to new JSON format
- #127 [DL4J] Upgrade to new DType System
- #128 [Frontends] Make ```autotuning``` an additional parameter of the sol.optimize call!
- #129 [DFP] Optimize IDX usage
- #130 [DFP] wrong initial value for reduction accumulators
- #132 [PyTorch] Testcase Arange fails
- #133 [PyTorch] AddCDIV AddCMul missing
- #134 [DFP] Wrong gradient for PReLU-Weight
- #136 [PyTorch] Min/Max returned indicies do not match the PyTorch indicies format.
- #137 [PyTorch] can't use named tuples in output
- #140 [VE] Min/Max Reduce or Pooling, that need to use reduction within the kernel, produce wrong results during backward pass
- #141 [Performance] MaxPooling Backward Pass
- #142 [DFP] Improve Pooling Backward Performance
- #143 [DFP] Improve Pooling Fwd Performance
- #144 [PyTorch] Upgrade to 1.7.1
- #145 [DFP] Remove Inner
- #146 [VE] Fix Updating of VBS
- #147 [CUDNN] report Version and warn if version is < 7.6.0
- #149 [CUDA] Exclude Half Precision API from GPUs below Maxwell
- #150 [ISPC] Upgrade to 1.15.0
- #151 [DFP] Segfault when optimizing BERT
- #152 [VEDNN] Evaluate new LLVM-VE
- #153 [DNNL] upgrade to 1.8
- #154 [SQLITE] Update to 3.34.0
- #155 [Python] Add debug option to run ```python -m sol``` to check if SOL works correctly
- #156 [PyTorch] return_indices of MaxPooling does not match PyTorch value range
- #158 [DNNL] Update to v1.8.1
- #159 [PyTorch] SOL's behavior of inplace methods, i.e. neg_ is not identical
- #160 [PyTorch] SOL segfaults during execution when model uses the same tensor for multiple outputs
- #164 [PyTorch] verify that torch.nn.Conv1d is working
- #170 [SQLITE] Update to 3.34.1
- #172 [VEBLAS] RNN
- #178 [DFP] does not zero initialize gradient in backwardpass for narrows
- #180 [Python] Single Python Wrapper for all frameworks
- #185 [DFP] Missing LXXX_idx in BWD Filter pass for Conv
- #189 [DFP] Problem in Embedding BWD
- #190 [Deploy] Fix Deployment
- #192 [HLIR] add sol_layer_input(network, layer, IType, LayerOutput)
- #194 [HLIR] Make all Cat inputs to IType::Input/X instead of IType::None/0
- #215 [Debug] Increase font size in memory consumption graphs
|