Merge pull request #236 from KomputeFoundation/updating_repo_resources

Updating repo licenses and links
This commit is contained in:
Alejandro Saucedo 2021-07-21 21:46:16 +01:00 committed by GitHub
commit b23dab7798
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
67 changed files with 521 additions and 245 deletions

View file

@ -1,279 +1,279 @@
# Changelog
## [v0.7.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.7.0)
## [v0.7.0](https://github.com/KomputeFoundation/kompute/tree/v0.7.0)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.6.0...v0.7.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.6.0...v0.7.0)
**Implemented enhancements:**
- Extend non-spdlog print functions to use std::format [\#158](https://github.com/EthicalML/vulkan-kompute/issues/158)
- Add code coverage reports with codecov [\#145](https://github.com/EthicalML/vulkan-kompute/issues/145)
- Explore removing `std::vector mData;` completely from Tensor in favour of always storing data in hostVisible buffer memory \(TBC\) [\#144](https://github.com/EthicalML/vulkan-kompute/issues/144)
- Update all examples to match breaking changes in 0.7.0 [\#141](https://github.com/EthicalML/vulkan-kompute/issues/141)
- Avoid copy when returning python numpy / array [\#139](https://github.com/EthicalML/vulkan-kompute/issues/139)
- Cover all Python & C++ tests in CI [\#121](https://github.com/EthicalML/vulkan-kompute/issues/121)
- Add C++ Test for Simple Work Groups Example [\#117](https://github.com/EthicalML/vulkan-kompute/issues/117)
- Expose push constants in OpAlgo [\#54](https://github.com/EthicalML/vulkan-kompute/issues/54)
- Expose ability to create barriers in OpTensor operations [\#45](https://github.com/EthicalML/vulkan-kompute/issues/45)
- Create delete function in manager to free / destroy sequence [\#36](https://github.com/EthicalML/vulkan-kompute/issues/36)
- Make specialisation data extensible [\#12](https://github.com/EthicalML/vulkan-kompute/issues/12)
- Support multiple types for Kompute Tensors [\#2](https://github.com/EthicalML/vulkan-kompute/issues/2)
- Added re-record sequence functionality and updated docs [\#171](https://github.com/EthicalML/vulkan-kompute/pull/171) ([axsaucedo](https://github.com/axsaucedo))
- Extend non-spdlog print functions to use fmt::format / fmt::print [\#159](https://github.com/EthicalML/vulkan-kompute/pull/159) ([axsaucedo](https://github.com/axsaucedo))
- Added support for custom SpecializedConstants and removed KomputeWorkgroup class [\#151](https://github.com/EthicalML/vulkan-kompute/pull/151) ([axsaucedo](https://github.com/axsaucedo))
- Added destroy functions for tensors and sequences \(named and object\) [\#146](https://github.com/EthicalML/vulkan-kompute/pull/146) ([axsaucedo](https://github.com/axsaucedo))
- Extend non-spdlog print functions to use std::format [\#158](https://github.com/KomputeFoundation/kompute/issues/158)
- Add code coverage reports with codecov [\#145](https://github.com/KomputeFoundation/kompute/issues/145)
- Explore removing `std::vector mData;` completely from Tensor in favour of always storing data in hostVisible buffer memory \(TBC\) [\#144](https://github.com/KomputeFoundation/kompute/issues/144)
- Update all examples to match breaking changes in 0.7.0 [\#141](https://github.com/KomputeFoundation/kompute/issues/141)
- Avoid copy when returning python numpy / array [\#139](https://github.com/KomputeFoundation/kompute/issues/139)
- Cover all Python & C++ tests in CI [\#121](https://github.com/KomputeFoundation/kompute/issues/121)
- Add C++ Test for Simple Work Groups Example [\#117](https://github.com/KomputeFoundation/kompute/issues/117)
- Expose push constants in OpAlgo [\#54](https://github.com/KomputeFoundation/kompute/issues/54)
- Expose ability to create barriers in OpTensor operations [\#45](https://github.com/KomputeFoundation/kompute/issues/45)
- Create delete function in manager to free / destroy sequence [\#36](https://github.com/KomputeFoundation/kompute/issues/36)
- Make specialisation data extensible [\#12](https://github.com/KomputeFoundation/kompute/issues/12)
- Support multiple types for Kompute Tensors [\#2](https://github.com/KomputeFoundation/kompute/issues/2)
- Added re-record sequence functionality and updated docs [\#171](https://github.com/KomputeFoundation/kompute/pull/171) ([axsaucedo](https://github.com/axsaucedo))
- Extend non-spdlog print functions to use fmt::format / fmt::print [\#159](https://github.com/KomputeFoundation/kompute/pull/159) ([axsaucedo](https://github.com/axsaucedo))
- Added support for custom SpecializedConstants and removed KomputeWorkgroup class [\#151](https://github.com/KomputeFoundation/kompute/pull/151) ([axsaucedo](https://github.com/axsaucedo))
- Added destroy functions for tensors and sequences \(named and object\) [\#146](https://github.com/KomputeFoundation/kompute/pull/146) ([axsaucedo](https://github.com/axsaucedo))
**Fixed bugs:**
- push\_constant not working in my case? [\#168](https://github.com/EthicalML/vulkan-kompute/issues/168)
- DescriptorPool set is not being freed [\#155](https://github.com/EthicalML/vulkan-kompute/issues/155)
- Updated memory barriers to include staging buffers [\#182](https://github.com/EthicalML/vulkan-kompute/pull/182) ([axsaucedo](https://github.com/axsaucedo))
- Adds push const ranges in pipelinelayout to fix \#168 [\#174](https://github.com/EthicalML/vulkan-kompute/pull/174) ([axsaucedo](https://github.com/axsaucedo))
- Added destructor for staging tensors [\#134](https://github.com/EthicalML/vulkan-kompute/pull/134) ([axsaucedo](https://github.com/axsaucedo))
- push\_constant not working in my case? [\#168](https://github.com/KomputeFoundation/kompute/issues/168)
- DescriptorPool set is not being freed [\#155](https://github.com/KomputeFoundation/kompute/issues/155)
- Updated memory barriers to include staging buffers [\#182](https://github.com/KomputeFoundation/kompute/pull/182) ([axsaucedo](https://github.com/axsaucedo))
- Adds push const ranges in pipelinelayout to fix \#168 [\#174](https://github.com/KomputeFoundation/kompute/pull/174) ([axsaucedo](https://github.com/axsaucedo))
- Added destructor for staging tensors [\#134](https://github.com/KomputeFoundation/kompute/pull/134) ([axsaucedo](https://github.com/axsaucedo))
**Closed issues:**
- Update memory barriers to align with tensor staging/primary memory revamp [\#181](https://github.com/EthicalML/vulkan-kompute/issues/181)
- Move shader defaultResource inside kp_test_utils::Shader class [\#175](https://github.com/EthicalML/vulkan-kompute/issues/175)
- Reach at least 90% code coverage on tests [\#170](https://github.com/EthicalML/vulkan-kompute/issues/170)
- Add functionality to re-record sequence as now it's possible to update the underlying algorithm [\#169](https://github.com/EthicalML/vulkan-kompute/issues/169)
- Use numpy arrays as default return value [\#166](https://github.com/EthicalML/vulkan-kompute/issues/166)
- Update all shared\_ptr value passes to be by ref or const ref [\#161](https://github.com/EthicalML/vulkan-kompute/issues/161)
- Amend memory hierarchy for kp::Operations so they can be created separately [\#160](https://github.com/EthicalML/vulkan-kompute/issues/160)
- Customise theme of documentation [\#156](https://github.com/EthicalML/vulkan-kompute/issues/156)
- Remove KomputeWorkgroup class in favour of std::array\<uint32\_t, 3\> [\#152](https://github.com/EthicalML/vulkan-kompute/issues/152)
- Passing raw GLSL string to Shader Module depricated so remove this method from supported approach [\#150](https://github.com/EthicalML/vulkan-kompute/issues/150)
- Add python backwards compatibility for eval\_tensor\_create\_def [\#147](https://github.com/EthicalML/vulkan-kompute/issues/147)
- Document breaking changes for 0.7.0 [\#140](https://github.com/EthicalML/vulkan-kompute/issues/140)
- Tensor memory management and memory hierarchy redesign [\#136](https://github.com/EthicalML/vulkan-kompute/issues/136)
- Staging tensor GPU memory is not freed as part of OpCreateTensor removal [\#133](https://github.com/EthicalML/vulkan-kompute/issues/133)
- eStorage Tensors are currently unusable as OpTensorCreate calls mapDataIntoHostMemory [\#132](https://github.com/EthicalML/vulkan-kompute/issues/132)
- 0.6.0 Release [\#126](https://github.com/EthicalML/vulkan-kompute/issues/126)
- java.lang.UnsatisfiedLinkError: dlopen failed: library "libkompute-jni.so" not found [\#125](https://github.com/EthicalML/vulkan-kompute/issues/125)
- Initial exploration: Include explicit GLSL to SPIRV compilation [\#107](https://github.com/EthicalML/vulkan-kompute/issues/107)
- Add support for push constants [\#106](https://github.com/EthicalML/vulkan-kompute/issues/106)
- Update memory barriers to align with tensor staging/primary memory revamp [\#181](https://github.com/KomputeFoundation/kompute/issues/181)
- Move shader defaultResource inside kp_test_utils::Shader class [\#175](https://github.com/KomputeFoundation/kompute/issues/175)
- Reach at least 90% code coverage on tests [\#170](https://github.com/KomputeFoundation/kompute/issues/170)
- Add functionality to re-record sequence as now it's possible to update the underlying algorithm [\#169](https://github.com/KomputeFoundation/kompute/issues/169)
- Use numpy arrays as default return value [\#166](https://github.com/KomputeFoundation/kompute/issues/166)
- Update all shared\_ptr value passes to be by ref or const ref [\#161](https://github.com/KomputeFoundation/kompute/issues/161)
- Amend memory hierarchy for kp::Operations so they can be created separately [\#160](https://github.com/KomputeFoundation/kompute/issues/160)
- Customise theme of documentation [\#156](https://github.com/KomputeFoundation/kompute/issues/156)
- Remove KomputeWorkgroup class in favour of std::array\<uint32\_t, 3\> [\#152](https://github.com/KomputeFoundation/kompute/issues/152)
- Passing raw GLSL string to Shader Module depricated so remove this method from supported approach [\#150](https://github.com/KomputeFoundation/kompute/issues/150)
- Add python backwards compatibility for eval\_tensor\_create\_def [\#147](https://github.com/KomputeFoundation/kompute/issues/147)
- Document breaking changes for 0.7.0 [\#140](https://github.com/KomputeFoundation/kompute/issues/140)
- Tensor memory management and memory hierarchy redesign [\#136](https://github.com/KomputeFoundation/kompute/issues/136)
- Staging tensor GPU memory is not freed as part of OpCreateTensor removal [\#133](https://github.com/KomputeFoundation/kompute/issues/133)
- eStorage Tensors are currently unusable as OpTensorCreate calls mapDataIntoHostMemory [\#132](https://github.com/KomputeFoundation/kompute/issues/132)
- 0.6.0 Release [\#126](https://github.com/KomputeFoundation/kompute/issues/126)
- java.lang.UnsatisfiedLinkError: dlopen failed: library "libkompute-jni.so" not found [\#125](https://github.com/KomputeFoundation/kompute/issues/125)
- Initial exploration: Include explicit GLSL to SPIRV compilation [\#107](https://github.com/KomputeFoundation/kompute/issues/107)
- Add support for push constants [\#106](https://github.com/KomputeFoundation/kompute/issues/106)
**Merged pull requests:**
- Resolve moving all functions from tensor HPP to CPP [\#186](https://github.com/EthicalML/vulkan-kompute/pull/186) ([axsaucedo](https://github.com/axsaucedo))
- Device Properties [\#184](https://github.com/EthicalML/vulkan-kompute/pull/184) ([alexander-g](https://github.com/alexander-g))
- Too many warnings [\#183](https://github.com/EthicalML/vulkan-kompute/pull/183) ([alexander-g](https://github.com/alexander-g))
- Add support for bool, double, int32, uint32 and float32 on Tensors via TensorT [\#177](https://github.com/EthicalML/vulkan-kompute/pull/177) ([axsaucedo](https://github.com/axsaucedo))
- Support for Timestamping [\#176](https://github.com/EthicalML/vulkan-kompute/pull/176) ([alexander-g](https://github.com/alexander-g))
- Test for ShaderResources [\#165](https://github.com/EthicalML/vulkan-kompute/pull/165) ([aliPMPAINT](https://github.com/aliPMPAINT))
- Amend memory hierarchy to enable for push constants and functional interface for more flexible operations [\#164](https://github.com/EthicalML/vulkan-kompute/pull/164) ([axsaucedo](https://github.com/axsaucedo))
- made changes for include paths for complete installation [\#163](https://github.com/EthicalML/vulkan-kompute/pull/163) ([aliPMPAINT](https://github.com/aliPMPAINT))
- Added dark mode on docs [\#157](https://github.com/EthicalML/vulkan-kompute/pull/157) ([axsaucedo](https://github.com/axsaucedo))
- Glslang implementation for online shader compilation [\#154](https://github.com/EthicalML/vulkan-kompute/pull/154) ([axsaucedo](https://github.com/axsaucedo))
- Adding test code coverage using gcov and lcov [\#149](https://github.com/EthicalML/vulkan-kompute/pull/149) ([axsaucedo](https://github.com/axsaucedo))
- Added temporary backwards compatibility for eval\_tensor\_create\_def function [\#148](https://github.com/EthicalML/vulkan-kompute/pull/148) ([axsaucedo](https://github.com/axsaucedo))
- Amend memory ownership hierarchy to have Tensor owned by Manager instead of OpCreateTensor / OpBase [\#138](https://github.com/EthicalML/vulkan-kompute/pull/138) ([axsaucedo](https://github.com/axsaucedo))
- Removed Staging Tensors in favour of having two buffer & memory in a Tensor to minimise data transfer [\#137](https://github.com/EthicalML/vulkan-kompute/pull/137) ([axsaucedo](https://github.com/axsaucedo))
- Resolve moving all functions from tensor HPP to CPP [\#186](https://github.com/KomputeFoundation/kompute/pull/186) ([axsaucedo](https://github.com/axsaucedo))
- Device Properties [\#184](https://github.com/KomputeFoundation/kompute/pull/184) ([alexander-g](https://github.com/alexander-g))
- Too many warnings [\#183](https://github.com/KomputeFoundation/kompute/pull/183) ([alexander-g](https://github.com/alexander-g))
- Add support for bool, double, int32, uint32 and float32 on Tensors via TensorT [\#177](https://github.com/KomputeFoundation/kompute/pull/177) ([axsaucedo](https://github.com/axsaucedo))
- Support for Timestamping [\#176](https://github.com/KomputeFoundation/kompute/pull/176) ([alexander-g](https://github.com/alexander-g))
- Test for ShaderResources [\#165](https://github.com/KomputeFoundation/kompute/pull/165) ([aliPMPAINT](https://github.com/aliPMPAINT))
- Amend memory hierarchy to enable for push constants and functional interface for more flexible operations [\#164](https://github.com/KomputeFoundation/kompute/pull/164) ([axsaucedo](https://github.com/axsaucedo))
- made changes for include paths for complete installation [\#163](https://github.com/KomputeFoundation/kompute/pull/163) ([aliPMPAINT](https://github.com/aliPMPAINT))
- Added dark mode on docs [\#157](https://github.com/KomputeFoundation/kompute/pull/157) ([axsaucedo](https://github.com/axsaucedo))
- Glslang implementation for online shader compilation [\#154](https://github.com/KomputeFoundation/kompute/pull/154) ([axsaucedo](https://github.com/axsaucedo))
- Adding test code coverage using gcov and lcov [\#149](https://github.com/KomputeFoundation/kompute/pull/149) ([axsaucedo](https://github.com/axsaucedo))
- Added temporary backwards compatibility for eval\_tensor\_create\_def function [\#148](https://github.com/KomputeFoundation/kompute/pull/148) ([axsaucedo](https://github.com/axsaucedo))
- Amend memory ownership hierarchy to have Tensor owned by Manager instead of OpCreateTensor / OpBase [\#138](https://github.com/KomputeFoundation/kompute/pull/138) ([axsaucedo](https://github.com/axsaucedo))
- Removed Staging Tensors in favour of having two buffer & memory in a Tensor to minimise data transfer [\#137](https://github.com/KomputeFoundation/kompute/pull/137) ([axsaucedo](https://github.com/axsaucedo))
## [v0.6.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.6.0) (2021-01-31)
## [v0.6.0](https://github.com/KomputeFoundation/kompute/tree/v0.6.0) (2021-01-31)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.5.1...v0.6.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.5.1...v0.6.0)
**Implemented enhancements:**
- Add simple test for Python `log\_level` function [\#120](https://github.com/EthicalML/vulkan-kompute/issues/120)
- Add further numpy support [\#104](https://github.com/EthicalML/vulkan-kompute/issues/104)
- SWIG syntax error - change order of keywords. [\#94](https://github.com/EthicalML/vulkan-kompute/issues/94)
- Create mocks to isolate unit tests for components [\#8](https://github.com/EthicalML/vulkan-kompute/issues/8)
- Disallowing zero sized tensors [\#129](https://github.com/EthicalML/vulkan-kompute/pull/129) ([alexander-g](https://github.com/alexander-g))
- Added further tests to CI and provide Dockerimage with builds to swiftshader [\#119](https://github.com/EthicalML/vulkan-kompute/pull/119) ([axsaucedo](https://github.com/axsaucedo))
- Workgroups for Python [\#116](https://github.com/EthicalML/vulkan-kompute/pull/116) ([alexander-g](https://github.com/alexander-g))
- Ubuntu CI [\#115](https://github.com/EthicalML/vulkan-kompute/pull/115) ([alexander-g](https://github.com/alexander-g))
- Faster set\_data\(\) [\#109](https://github.com/EthicalML/vulkan-kompute/pull/109) ([alexander-g](https://github.com/alexander-g))
- String parameter for eval\_algo\_str methods in Python [\#105](https://github.com/EthicalML/vulkan-kompute/pull/105) ([alexander-g](https://github.com/alexander-g))
- Added numpy\(\) method [\#103](https://github.com/EthicalML/vulkan-kompute/pull/103) ([alexander-g](https://github.com/alexander-g))
- Add simple test for Python `log\_level` function [\#120](https://github.com/KomputeFoundation/kompute/issues/120)
- Add further numpy support [\#104](https://github.com/KomputeFoundation/kompute/issues/104)
- SWIG syntax error - change order of keywords. [\#94](https://github.com/KomputeFoundation/kompute/issues/94)
- Create mocks to isolate unit tests for components [\#8](https://github.com/KomputeFoundation/kompute/issues/8)
- Disallowing zero sized tensors [\#129](https://github.com/KomputeFoundation/kompute/pull/129) ([alexander-g](https://github.com/alexander-g))
- Added further tests to CI and provide Dockerimage with builds to swiftshader [\#119](https://github.com/KomputeFoundation/kompute/pull/119) ([axsaucedo](https://github.com/axsaucedo))
- Workgroups for Python [\#116](https://github.com/KomputeFoundation/kompute/pull/116) ([alexander-g](https://github.com/alexander-g))
- Ubuntu CI [\#115](https://github.com/KomputeFoundation/kompute/pull/115) ([alexander-g](https://github.com/alexander-g))
- Faster set\_data\(\) [\#109](https://github.com/KomputeFoundation/kompute/pull/109) ([alexander-g](https://github.com/alexander-g))
- String parameter for eval\_algo\_str methods in Python [\#105](https://github.com/KomputeFoundation/kompute/pull/105) ([alexander-g](https://github.com/alexander-g))
- Added numpy\(\) method [\#103](https://github.com/KomputeFoundation/kompute/pull/103) ([alexander-g](https://github.com/alexander-g))
**Fixed bugs:**
- \[PYTHON\] Support string parameter instead of list for eval\_algo\_data when passing raw shader as string [\#93](https://github.com/EthicalML/vulkan-kompute/issues/93)
- \[PYTHON\] Fix log\_level on the python implementation \(using pybind's logging functions\) [\#92](https://github.com/EthicalML/vulkan-kompute/issues/92)
- \[PYTHON\] Support string parameter instead of list for eval\_algo\_data when passing raw shader as string [\#93](https://github.com/KomputeFoundation/kompute/issues/93)
- \[PYTHON\] Fix log\_level on the python implementation \(using pybind's logging functions\) [\#92](https://github.com/KomputeFoundation/kompute/issues/92)
**Closed issues:**
- Add documentation for custom operations [\#128](https://github.com/EthicalML/vulkan-kompute/issues/128)
- Numpy Array Support and Work Group Configuration in Python Kompute [\#124](https://github.com/EthicalML/vulkan-kompute/issues/124)
- Remove references to spdlog in python module [\#122](https://github.com/EthicalML/vulkan-kompute/issues/122)
- Setup automated CI testing for PRs using GitHub actions [\#114](https://github.com/EthicalML/vulkan-kompute/issues/114)
- Python example type error \(pyshader\). [\#111](https://github.com/EthicalML/vulkan-kompute/issues/111)
- Update all references to operations to not use template [\#101](https://github.com/EthicalML/vulkan-kompute/issues/101)
- Getting a undefined reference error while creating a Kompute Manager [\#100](https://github.com/EthicalML/vulkan-kompute/issues/100)
- Add documentation for custom operations [\#128](https://github.com/KomputeFoundation/kompute/issues/128)
- Numpy Array Support and Work Group Configuration in Python Kompute [\#124](https://github.com/KomputeFoundation/kompute/issues/124)
- Remove references to spdlog in python module [\#122](https://github.com/KomputeFoundation/kompute/issues/122)
- Setup automated CI testing for PRs using GitHub actions [\#114](https://github.com/KomputeFoundation/kompute/issues/114)
- Python example type error \(pyshader\). [\#111](https://github.com/KomputeFoundation/kompute/issues/111)
- Update all references to operations to not use template [\#101](https://github.com/KomputeFoundation/kompute/issues/101)
- Getting a undefined reference error while creating a Kompute Manager [\#100](https://github.com/KomputeFoundation/kompute/issues/100)
**Merged pull requests:**
- 122 remove spdlog references in python [\#123](https://github.com/EthicalML/vulkan-kompute/pull/123) ([axsaucedo](https://github.com/axsaucedo))
- Native logging for Python [\#118](https://github.com/EthicalML/vulkan-kompute/pull/118) ([alexander-g](https://github.com/alexander-g))
- Fixes for the c++ Simple and Extended examples in readme [\#108](https://github.com/EthicalML/vulkan-kompute/pull/108) ([aliPMPAINT](https://github.com/aliPMPAINT))
- Fix building shaders on native linux [\#102](https://github.com/EthicalML/vulkan-kompute/pull/102) ([aliPMPAINT](https://github.com/aliPMPAINT))
- 122 remove spdlog references in python [\#123](https://github.com/KomputeFoundation/kompute/pull/123) ([axsaucedo](https://github.com/axsaucedo))
- Native logging for Python [\#118](https://github.com/KomputeFoundation/kompute/pull/118) ([alexander-g](https://github.com/alexander-g))
- Fixes for the c++ Simple and Extended examples in readme [\#108](https://github.com/KomputeFoundation/kompute/pull/108) ([aliPMPAINT](https://github.com/aliPMPAINT))
- Fix building shaders on native linux [\#102](https://github.com/KomputeFoundation/kompute/pull/102) ([aliPMPAINT](https://github.com/aliPMPAINT))
## [v0.5.1](https://github.com/EthicalML/vulkan-kompute/tree/v0.5.1) (2020-11-12)
## [v0.5.1](https://github.com/KomputeFoundation/kompute/tree/v0.5.1) (2020-11-12)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.5.0...v0.5.1)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.5.0...v0.5.1)
**Implemented enhancements:**
- Remove the template params from OpAlgoBase for dispatch layout [\#57](https://github.com/EthicalML/vulkan-kompute/issues/57)
- Enable layout to be configured dynamically within shaders [\#26](https://github.com/EthicalML/vulkan-kompute/issues/26)
- replaced "static unsigned const" to "static const unsigned" to avoid SWIG parsing error. [\#95](https://github.com/EthicalML/vulkan-kompute/pull/95) ([0x0f0f0f](https://github.com/0x0f0f0f))
- Remove the template params from OpAlgoBase for dispatch layout [\#57](https://github.com/KomputeFoundation/kompute/issues/57)
- Enable layout to be configured dynamically within shaders [\#26](https://github.com/KomputeFoundation/kompute/issues/26)
- replaced "static unsigned const" to "static const unsigned" to avoid SWIG parsing error. [\#95](https://github.com/KomputeFoundation/kompute/pull/95) ([0x0f0f0f](https://github.com/0x0f0f0f))
**Closed issues:**
- Support for MoltenVK? [\#96](https://github.com/EthicalML/vulkan-kompute/issues/96)
- Update all examples to use spir-v bytes by default [\#86](https://github.com/EthicalML/vulkan-kompute/issues/86)
- Support for MoltenVK? [\#96](https://github.com/KomputeFoundation/kompute/issues/96)
- Update all examples to use spir-v bytes by default [\#86](https://github.com/KomputeFoundation/kompute/issues/86)
**Merged pull requests:**
- Python extensions for end to end example [\#97](https://github.com/EthicalML/vulkan-kompute/pull/97) ([axsaucedo](https://github.com/axsaucedo))
- Python extensions for end to end example [\#97](https://github.com/KomputeFoundation/kompute/pull/97) ([axsaucedo](https://github.com/axsaucedo))
## [v0.5.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.5.0) (2020-11-08)
## [v0.5.0](https://github.com/KomputeFoundation/kompute/tree/v0.5.0) (2020-11-08)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.4.1...v0.5.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.4.1...v0.5.0)
**Implemented enhancements:**
- Adding Python package for Kompute [\#87](https://github.com/EthicalML/vulkan-kompute/issues/87)
- Python shader extension [\#91](https://github.com/EthicalML/vulkan-kompute/pull/91) ([axsaucedo](https://github.com/axsaucedo))
- Enhanced python build [\#89](https://github.com/EthicalML/vulkan-kompute/pull/89) ([axsaucedo](https://github.com/axsaucedo))
- Added python bindings with kp as python module [\#88](https://github.com/EthicalML/vulkan-kompute/pull/88) ([axsaucedo](https://github.com/axsaucedo))
- Adding Python package for Kompute [\#87](https://github.com/KomputeFoundation/kompute/issues/87)
- Python shader extension [\#91](https://github.com/KomputeFoundation/kompute/pull/91) ([axsaucedo](https://github.com/axsaucedo))
- Enhanced python build [\#89](https://github.com/KomputeFoundation/kompute/pull/89) ([axsaucedo](https://github.com/axsaucedo))
- Added python bindings with kp as python module [\#88](https://github.com/KomputeFoundation/kompute/pull/88) ([axsaucedo](https://github.com/axsaucedo))
**Closed issues:**
- Examples segfault \(Linux / mesa / amdgpu\) [\#84](https://github.com/EthicalML/vulkan-kompute/issues/84)
- Kompute support for newer Vulkan HPP headers [\#81](https://github.com/EthicalML/vulkan-kompute/issues/81)
- Examples segfault \(Linux / mesa / amdgpu\) [\#84](https://github.com/KomputeFoundation/kompute/issues/84)
- Kompute support for newer Vulkan HPP headers [\#81](https://github.com/KomputeFoundation/kompute/issues/81)
## [v0.4.1](https://github.com/EthicalML/vulkan-kompute/tree/v0.4.1) (2020-11-01)
## [v0.4.1](https://github.com/KomputeFoundation/kompute/tree/v0.4.1) (2020-11-01)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.4.0...v0.4.1)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.4.0...v0.4.1)
**Implemented enhancements:**
- Upgrade build to support VulkanHPP 1.2.154 \< 1.2.158 [\#82](https://github.com/EthicalML/vulkan-kompute/issues/82)
- Add Android example for Kompute [\#23](https://github.com/EthicalML/vulkan-kompute/issues/23)
- Fix compatibility for Vulkan HPP 1.2.155 and above [\#83](https://github.com/EthicalML/vulkan-kompute/pull/83) ([axsaucedo](https://github.com/axsaucedo))
- codespell spelling fixes [\#80](https://github.com/EthicalML/vulkan-kompute/pull/80) ([pH5](https://github.com/pH5))
- Upgrade build to support VulkanHPP 1.2.154 \< 1.2.158 [\#82](https://github.com/KomputeFoundation/kompute/issues/82)
- Add Android example for Kompute [\#23](https://github.com/KomputeFoundation/kompute/issues/23)
- Fix compatibility for Vulkan HPP 1.2.155 and above [\#83](https://github.com/KomputeFoundation/kompute/pull/83) ([axsaucedo](https://github.com/axsaucedo))
- codespell spelling fixes [\#80](https://github.com/KomputeFoundation/kompute/pull/80) ([pH5](https://github.com/pH5))
**Closed issues:**
- Android example throws runtime error. [\#77](https://github.com/EthicalML/vulkan-kompute/issues/77)
- Document the utilities to convert shaders into C++ header files [\#53](https://github.com/EthicalML/vulkan-kompute/issues/53)
- Document the three types of memory ownership in classes - never, optional and always [\#31](https://github.com/EthicalML/vulkan-kompute/issues/31)
- Android example throws runtime error. [\#77](https://github.com/KomputeFoundation/kompute/issues/77)
- Document the utilities to convert shaders into C++ header files [\#53](https://github.com/KomputeFoundation/kompute/issues/53)
- Document the three types of memory ownership in classes - never, optional and always [\#31](https://github.com/KomputeFoundation/kompute/issues/31)
**Merged pull requests:**
- Add link to official Vulkan website to download the SDK [\#79](https://github.com/EthicalML/vulkan-kompute/pull/79) ([DonaldWhyte](https://github.com/DonaldWhyte))
- 77 Fix end to end examples by creating tensors on separate sequence [\#78](https://github.com/EthicalML/vulkan-kompute/pull/78) ([axsaucedo](https://github.com/axsaucedo))
- Add link to official Vulkan website to download the SDK [\#79](https://github.com/KomputeFoundation/kompute/pull/79) ([DonaldWhyte](https://github.com/DonaldWhyte))
- 77 Fix end to end examples by creating tensors on separate sequence [\#78](https://github.com/KomputeFoundation/kompute/pull/78) ([axsaucedo](https://github.com/axsaucedo))
## [v0.4.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.4.0) (2020-10-18)
## [v0.4.0](https://github.com/KomputeFoundation/kompute/tree/v0.4.0) (2020-10-18)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.3.2...v0.4.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.3.2...v0.4.0)
**Implemented enhancements:**
- Error compiling on ubuntu 20.04 [\#67](https://github.com/EthicalML/vulkan-kompute/issues/67)
- Add explicit multi-threading interfaces to ensure correctness when running in parallel [\#51](https://github.com/EthicalML/vulkan-kompute/issues/51)
- Error compiling on ubuntu 20.04 [\#67](https://github.com/KomputeFoundation/kompute/issues/67)
- Add explicit multi-threading interfaces to ensure correctness when running in parallel [\#51](https://github.com/KomputeFoundation/kompute/issues/51)
**Fixed bugs:**
- Ensure sequences are cleared when begin is run [\#74](https://github.com/EthicalML/vulkan-kompute/issues/74)
- Ensure sequences are cleared when begin is run [\#74](https://github.com/KomputeFoundation/kompute/issues/74)
**Merged pull requests:**
- 74 Fixing manager default sequence creation [\#75](https://github.com/EthicalML/vulkan-kompute/pull/75) ([axsaucedo](https://github.com/axsaucedo))
- Adding Asynchronous Processing Capabilities with Multiple Queue Support [\#73](https://github.com/EthicalML/vulkan-kompute/pull/73) ([axsaucedo](https://github.com/axsaucedo))
- Fix README typo [\#71](https://github.com/EthicalML/vulkan-kompute/pull/71) ([nihui](https://github.com/nihui))
- 74 Fixing manager default sequence creation [\#75](https://github.com/KomputeFoundation/kompute/pull/75) ([axsaucedo](https://github.com/axsaucedo))
- Adding Asynchronous Processing Capabilities with Multiple Queue Support [\#73](https://github.com/KomputeFoundation/kompute/pull/73) ([axsaucedo](https://github.com/axsaucedo))
- Fix README typo [\#71](https://github.com/KomputeFoundation/kompute/pull/71) ([nihui](https://github.com/nihui))
## [v0.3.2](https://github.com/EthicalML/vulkan-kompute/tree/v0.3.2) (2020-10-04)
## [v0.3.2](https://github.com/KomputeFoundation/kompute/tree/v0.3.2) (2020-10-04)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.3.1...v0.3.2)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.3.1...v0.3.2)
**Implemented enhancements:**
- Fix compiler errors on compilers other than msvc [\#66](https://github.com/EthicalML/vulkan-kompute/pull/66) ([Dudecake](https://github.com/Dudecake))
- Fix compiler errors on compilers other than msvc [\#66](https://github.com/KomputeFoundation/kompute/pull/66) ([Dudecake](https://github.com/Dudecake))
**Fixed bugs:**
- Fix bug in OpAlgoRhsLhs [\#61](https://github.com/EthicalML/vulkan-kompute/issues/61)
- Fix bug in OpAlgoRhsLhs [\#61](https://github.com/KomputeFoundation/kompute/issues/61)
**Closed issues:**
- Change c++ to 14 from 17 for support with older frameworks [\#59](https://github.com/EthicalML/vulkan-kompute/issues/59)
- Change c++ to 14 from 17 for support with older frameworks [\#59](https://github.com/KomputeFoundation/kompute/issues/59)
**Merged pull requests:**
- Updated readme and single kompute for 0.3.2 [\#69](https://github.com/EthicalML/vulkan-kompute/pull/69) ([axsaucedo](https://github.com/axsaucedo))
- Added android example and upgraded build configurations [\#68](https://github.com/EthicalML/vulkan-kompute/pull/68) ([axsaucedo](https://github.com/axsaucedo))
- Added readme to explain high level explanation for Godot example [\#65](https://github.com/EthicalML/vulkan-kompute/pull/65) ([axsaucedo](https://github.com/axsaucedo))
- Removing vulkan dependencies in examples [\#64](https://github.com/EthicalML/vulkan-kompute/pull/64) ([axsaucedo](https://github.com/axsaucedo))
- Updated godot example to use logistic regression usecase [\#63](https://github.com/EthicalML/vulkan-kompute/pull/63) ([axsaucedo](https://github.com/axsaucedo))
- Updated readme and single kompute for 0.3.2 [\#69](https://github.com/KomputeFoundation/kompute/pull/69) ([axsaucedo](https://github.com/axsaucedo))
- Added android example and upgraded build configurations [\#68](https://github.com/KomputeFoundation/kompute/pull/68) ([axsaucedo](https://github.com/axsaucedo))
- Added readme to explain high level explanation for Godot example [\#65](https://github.com/KomputeFoundation/kompute/pull/65) ([axsaucedo](https://github.com/axsaucedo))
- Removing vulkan dependencies in examples [\#64](https://github.com/KomputeFoundation/kompute/pull/64) ([axsaucedo](https://github.com/axsaucedo))
- Updated godot example to use logistic regression usecase [\#63](https://github.com/KomputeFoundation/kompute/pull/63) ([axsaucedo](https://github.com/axsaucedo))
## [v0.3.1](https://github.com/EthicalML/vulkan-kompute/tree/v0.3.1) (2020-09-20)
## [v0.3.1](https://github.com/KomputeFoundation/kompute/tree/v0.3.1) (2020-09-20)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.3.0...v0.3.1)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.3.0...v0.3.1)
**Implemented enhancements:**
- Add example of how vulkan kompute can be used for ML in Godot Game Engine [\#60](https://github.com/EthicalML/vulkan-kompute/issues/60)
- Add example of how vulkan kompute can be used for ML in Godot Game Engine [\#60](https://github.com/KomputeFoundation/kompute/issues/60)
**Merged pull requests:**
- Adding godot example [\#62](https://github.com/EthicalML/vulkan-kompute/pull/62) ([axsaucedo](https://github.com/axsaucedo))
- Adding godot example [\#62](https://github.com/KomputeFoundation/kompute/pull/62) ([axsaucedo](https://github.com/axsaucedo))
## [v0.3.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.3.0) (2020-09-19)
## [v0.3.0](https://github.com/KomputeFoundation/kompute/tree/v0.3.0) (2020-09-19)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/0.3.0...v0.3.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/0.3.0...v0.3.0)
**Implemented enhancements:**
- Make Kompute installable locally to work with examples [\#58](https://github.com/EthicalML/vulkan-kompute/issues/58)
- Remove ability to copy output parameters from OpAlgoBase now that there's OpTensorSync [\#56](https://github.com/EthicalML/vulkan-kompute/issues/56)
- Make Kompute installable locally to work with examples [\#58](https://github.com/KomputeFoundation/kompute/issues/58)
- Remove ability to copy output parameters from OpAlgoBase now that there's OpTensorSync [\#56](https://github.com/KomputeFoundation/kompute/issues/56)
## [0.3.0](https://github.com/EthicalML/vulkan-kompute/tree/0.3.0) (2020-09-13)
## [0.3.0](https://github.com/KomputeFoundation/kompute/tree/0.3.0) (2020-09-13)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.2.0...0.3.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.2.0...0.3.0)
**Implemented enhancements:**
- Add tests and documentation for loops passing data to/from device [\#50](https://github.com/EthicalML/vulkan-kompute/issues/50)
- Add preSubmit function to OpBase to account for multiple eval commands in parallel [\#47](https://github.com/EthicalML/vulkan-kompute/issues/47)
- Remove vulkan commandbuffer from Tensor [\#42](https://github.com/EthicalML/vulkan-kompute/issues/42)
- Provide further granularity on handling staging tensors [\#40](https://github.com/EthicalML/vulkan-kompute/issues/40)
- Create operation to copy data from local to device memory with staging [\#39](https://github.com/EthicalML/vulkan-kompute/issues/39)
- Add more advanced ML implementations \(starting with LR, then DL, etc\) [\#19](https://github.com/EthicalML/vulkan-kompute/issues/19)
- Add tests and documentation for loops passing data to/from device [\#50](https://github.com/KomputeFoundation/kompute/issues/50)
- Add preSubmit function to OpBase to account for multiple eval commands in parallel [\#47](https://github.com/KomputeFoundation/kompute/issues/47)
- Remove vulkan commandbuffer from Tensor [\#42](https://github.com/KomputeFoundation/kompute/issues/42)
- Provide further granularity on handling staging tensors [\#40](https://github.com/KomputeFoundation/kompute/issues/40)
- Create operation to copy data from local to device memory with staging [\#39](https://github.com/KomputeFoundation/kompute/issues/39)
- Add more advanced ML implementations \(starting with LR, then DL, etc\) [\#19](https://github.com/KomputeFoundation/kompute/issues/19)
**Fixed bugs:**
- OpCreateTensor doesn't map data into GPU with OpCreateTensor for host tensors [\#43](https://github.com/EthicalML/vulkan-kompute/issues/43)
- OpCreateTensor doesn't map data into GPU with OpCreateTensor for host tensors [\#43](https://github.com/KomputeFoundation/kompute/issues/43)
## [v0.2.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.2.0) (2020-09-05)
## [v0.2.0](https://github.com/KomputeFoundation/kompute/tree/v0.2.0) (2020-09-05)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/v0.1.0...v0.2.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/v0.1.0...v0.2.0)
**Implemented enhancements:**
- Migrate to GTest [\#37](https://github.com/EthicalML/vulkan-kompute/issues/37)
- Move all todos in the code into github issues [\#33](https://github.com/EthicalML/vulkan-kompute/issues/33)
- Remove spdlog as a required dependency [\#30](https://github.com/EthicalML/vulkan-kompute/issues/30)
- Improve access to tensor underlying data for speed and ease of access [\#18](https://github.com/EthicalML/vulkan-kompute/issues/18)
- Enable for compute shaders to be provided in raw form [\#17](https://github.com/EthicalML/vulkan-kompute/issues/17)
- Enable OpCreateTensor for more than 1 tensor [\#13](https://github.com/EthicalML/vulkan-kompute/issues/13)
- Add specialisation data to algorithm with default tensor size [\#11](https://github.com/EthicalML/vulkan-kompute/issues/11)
- Add documentation with Doxygen and Sphinx [\#9](https://github.com/EthicalML/vulkan-kompute/issues/9)
- Migrate to GTest [\#37](https://github.com/KomputeFoundation/kompute/issues/37)
- Move all todos in the code into github issues [\#33](https://github.com/KomputeFoundation/kompute/issues/33)
- Remove spdlog as a required dependency [\#30](https://github.com/KomputeFoundation/kompute/issues/30)
- Improve access to tensor underlying data for speed and ease of access [\#18](https://github.com/KomputeFoundation/kompute/issues/18)
- Enable for compute shaders to be provided in raw form [\#17](https://github.com/KomputeFoundation/kompute/issues/17)
- Enable OpCreateTensor for more than 1 tensor [\#13](https://github.com/KomputeFoundation/kompute/issues/13)
- Add specialisation data to algorithm with default tensor size [\#11](https://github.com/KomputeFoundation/kompute/issues/11)
- Add documentation with Doxygen and Sphinx [\#9](https://github.com/KomputeFoundation/kompute/issues/9)
**Fixed bugs:**
- Diagnose memory profiling to ensure there are no memory leaks on objects created \[CPU\] [\#15](https://github.com/EthicalML/vulkan-kompute/issues/15)
- Diagnose memory profiling to ensure there are no memory leaks on objects created \[CPU\] [\#15](https://github.com/KomputeFoundation/kompute/issues/15)
**Merged pull requests:**
- Migrating to gtest [\#38](https://github.com/EthicalML/vulkan-kompute/pull/38) ([axsaucedo](https://github.com/axsaucedo))
- Migrating to gtest [\#38](https://github.com/KomputeFoundation/kompute/pull/38) ([axsaucedo](https://github.com/axsaucedo))
## [v0.1.0](https://github.com/EthicalML/vulkan-kompute/tree/v0.1.0) (2020-08-28)
## [v0.1.0](https://github.com/KomputeFoundation/kompute/tree/v0.1.0) (2020-08-28)
[Full Changelog](https://github.com/EthicalML/vulkan-kompute/compare/2879d3d274967e87087d567bcc659804b1707d0a...v0.1.0)
[Full Changelog](https://github.com/KomputeFoundation/kompute/compare/2879d3d274967e87087d567bcc659804b1707d0a...v0.1.0)

View file

@ -1,3 +1,5 @@
# SPDX-License-Identifier: Apache-2.0
cmake_minimum_required(VERSION 3.4.1)
project(kompute VERSION 0.7.0)

210
LICENSE
View file

@ -1,13 +1,203 @@
Copyright 2020 The Institute for Ethical AI & Machine Learning
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
Apache License
Version 2.0, January 2004
http://www.apache.org/licenses/
http://www.apache.org/licenses/LICENSE-2.0
TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION
1. Definitions.
"License" shall mean the terms and conditions for use, reproduction,
and distribution as defined by Sections 1 through 9 of this document.
"Licensor" shall mean the copyright owner or entity authorized by
the copyright owner that is granting the License.
"Legal Entity" shall mean the union of the acting entity and all
other entities that control, are controlled by, or are under common
control with that entity. For the purposes of this definition,
"control" means (i) the power, direct or indirect, to cause the
direction or management of such entity, whether by contract or
otherwise, or (ii) ownership of fifty percent (50%) or more of the
outstanding shares, or (iii) beneficial ownership of such entity.
"You" (or "Your") shall mean an individual or Legal Entity
exercising permissions granted by this License.
"Source" form shall mean the preferred form for making modifications,
including but not limited to software source code, documentation
source, and configuration files.
"Object" form shall mean any form resulting from mechanical
transformation or translation of a Source form, including but
not limited to compiled object code, generated documentation,
and conversions to other media types.
"Work" shall mean the work of authorship, whether in Source or
Object form, made available under the License, as indicated by a
copyright notice that is included in or attached to the work
(an example is provided in the Appendix below).
"Derivative Works" shall mean any work, whether in Source or Object
form, that is based on (or derived from) the Work and for which the
editorial revisions, annotations, elaborations, or other modifications
represent, as a whole, an original work of authorship. For the purposes
of this License, Derivative Works shall not include works that remain
separable from, or merely link (or bind by name) to the interfaces of,
the Work and Derivative Works thereof.
"Contribution" shall mean any work of authorship, including
the original version of the Work and any modifications or additions
to that Work or Derivative Works thereof, that is intentionally
submitted to Licensor for inclusion in the Work by the copyright owner
or by an individual or Legal Entity authorized to submit on behalf of
the copyright owner. For the purposes of this definition, "submitted"
means any form of electronic, verbal, or written communication sent
to the Licensor or its representatives, including but not limited to
communication on electronic mailing lists, source code control systems,
and issue tracking systems that are managed by, or on behalf of, the
Licensor for the purpose of discussing and improving the Work, but
excluding communication that is conspicuously marked or otherwise
designated in writing by the copyright owner as "Not a Contribution."
"Contributor" shall mean Licensor and any individual or Legal Entity
on behalf of whom a Contribution has been received by Licensor and
subsequently incorporated within the Work.
2. Grant of Copyright License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
copyright license to reproduce, prepare Derivative Works of,
publicly display, publicly perform, sublicense, and distribute the
Work and such Derivative Works in Source or Object form.
3. Grant of Patent License. Subject to the terms and conditions of
this License, each Contributor hereby grants to You a perpetual,
worldwide, non-exclusive, no-charge, royalty-free, irrevocable
(except as stated in this section) patent license to make, have made,
use, offer to sell, sell, import, and otherwise transfer the Work,
where such license applies only to those patent claims licensable
by such Contributor that are necessarily infringed by their
Contribution(s) alone or by combination of their Contribution(s)
with the Work to which such Contribution(s) was submitted. If You
institute patent litigation against any entity (including a
cross-claim or counterclaim in a lawsuit) alleging that the Work
or a Contribution incorporated within the Work constitutes direct
or contributory patent infringement, then any patent licenses
granted to You under this License for that Work shall terminate
as of the date such litigation is filed.
4. Redistribution. You may reproduce and distribute copies of the
Work or Derivative Works thereof in any medium, with or without
modifications, and in Source or Object form, provided that You
meet the following conditions:
(a) You must give any other recipients of the Work or
Derivative Works a copy of this License; and
(b) You must cause any modified files to carry prominent notices
stating that You changed the files; and
(c) You must retain, in the Source form of any Derivative Works
that You distribute, all copyright, patent, trademark, and
attribution notices from the Source form of the Work,
excluding those notices that do not pertain to any part of
the Derivative Works; and
(d) If the Work includes a "NOTICE" text file as part of its
distribution, then any Derivative Works that You distribute must
include a readable copy of the attribution notices contained
within such NOTICE file, excluding those notices that do not
pertain to any part of the Derivative Works, in at least one
of the following places: within a NOTICE text file distributed
as part of the Derivative Works; within the Source form or
documentation, if provided along with the Derivative Works; or,
within a display generated by the Derivative Works, if and
wherever such third-party notices normally appear. The contents
of the NOTICE file are for informational purposes only and
do not modify the License. You may add Your own attribution
notices within Derivative Works that You distribute, alongside
or as an addendum to the NOTICE text from the Work, provided
that such additional attribution notices cannot be construed
as modifying the License.
You may add Your own copyright statement to Your modifications and
may provide additional or different license terms and conditions
for use, reproduction, or distribution of Your modifications, or
for any such Derivative Works as a whole, provided Your use,
reproduction, and distribution of the Work otherwise complies with
the conditions stated in this License.
5. Submission of Contributions. Unless You explicitly state otherwise,
any Contribution intentionally submitted for inclusion in the Work
by You to the Licensor shall be under the terms and conditions of
this License, without any additional terms or conditions.
Notwithstanding the above, nothing herein shall supersede or modify
the terms of any separate license agreement you may have executed
with Licensor regarding such Contributions.
6. Trademarks. This License does not grant permission to use the trade
names, trademarks, service marks, or product names of the Licensor,
except as required for reasonable and customary use in describing the
origin of the Work and reproducing the content of the NOTICE file.
7. Disclaimer of Warranty. Unless required by applicable law or
agreed to in writing, Licensor provides the Work (and each
Contributor provides its Contributions) on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or
implied, including, without limitation, any warranties or conditions
of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A
PARTICULAR PURPOSE. You are solely responsible for determining the
appropriateness of using or redistributing the Work and assume any
risks associated with Your exercise of permissions under this License.
8. Limitation of Liability. In no event and under no legal theory,
whether in tort (including negligence), contract, or otherwise,
unless required by applicable law (such as deliberate and grossly
negligent acts) or agreed to in writing, shall any Contributor be
liable to You for damages, including any direct, indirect, special,
incidental, or consequential damages of any character arising as a
result of this License or out of the use or inability to use the
Work (including but not limited to damages for loss of goodwill,
work stoppage, computer failure or malfunction, or any and all
other commercial damages or losses), even if such Contributor
has been advised of the possibility of such damages.
9. Accepting Warranty or Additional Liability. While redistributing
the Work or Derivative Works thereof, You may choose to offer,
and charge a fee for, acceptance of support, warranty, indemnity,
or other liability obligations and/or rights consistent with this
License. However, in accepting such obligations, You may act only
on Your own behalf and on Your sole responsibility, not on behalf
of any other Contributor, and only if You agree to indemnify,
defend, and hold each Contributor harmless for any liability
incurred by, or claims asserted against, such Contributor by reason
of your accepting any such warranty or additional liability.
END OF TERMS AND CONDITIONS
APPENDIX: How to apply the Apache License to your work.
To apply the Apache License to your work, attach the following
boilerplate notice, with the fields enclosed by brackets "[]"
replaced with your own identifying information. (Don't include
the brackets!) The text should be enclosed in the appropriate
comment syntax for the file format. We also recommend that a
file or class name and description of purpose be included on the
same "printed page" as the copyright notice for easier
identification within third-party archives.
Copyright 2020 The Institute for Ethical AI & Machine Learning
Licensed under the Apache License, Version 2.0 (the "License");
you may not use this file except in compliance with the License.
You may obtain a copy of the License at
http://www.apache.org/licenses/LICENSE-2.0
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.
Unless required by applicable law or agreed to in writing, software
distributed under the License is distributed on an "AS IS" BASIS,
WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
See the License for the specific language governing permissions and
limitations under the License.

View file

@ -68,6 +68,7 @@ mk_cmake:
-DKOMPUTE_OPT_BUILD_SINGLE_HEADER=1 \
-DKOMPUTE_OPT_ENABLE_SPDLOG=1 \
-DKOMPUTE_OPT_CODE_COVERAGE=1 \
-DCMAKE_EXPORT_COMPILE_COMMANDS=ON \
$(MK_CMAKE_EXTRA_FLAGS) \
-G "Unix Makefiles"
@ -199,7 +200,10 @@ win_build_xxd:
format:
$(CLANG_FORMAT_BIN) -i -style="{BasedOnStyle: mozilla, IndentWidth: 4}" src/*.cpp src/include/kompute/*.hpp test/*cpp
static_scan:
cppcheck --project=build/compile_commands.json -iexternal/
build_changelog:
docker run --rm -it -v "$(PWD)":/usr/local/src/your-app -e CHANGELOG_GITHUB_TOKEN=${CHANGELOG_GITHUB_TOKEN} ferrarimarco/github-changelog-generator:1.15.2 -u EthicalML -p vulkan-kompute
docker run --rm -it -v "$(PWD)":/usr/local/src/your-app -e CHANGELOG_GITHUB_TOKEN=${CHANGELOG_GITHUB_TOKEN} ferrarimarco/github-changelog-generator:1.15.2 -u KomputeFoundation -p kompute
chmod 664 CHANGELOG.md # (Read+Write, Read+Write, Read)
sed -i -e 's/\(HEAD\|Unreleased\)/v${VERSION}/g' CHANGELOG.md # Replacing unreleased version with latest tag

View file

@ -9,7 +9,7 @@
<tr>
<td width="20%">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/master/docs/images/kompute.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/kompute.jpg">
</td>
<td>
@ -37,13 +37,13 @@
* Robust codebase with [90% unit test code coverage](https://kompute.cc/codecov/)
* Advanced use-cases on [machine learning 🤖](https://towardsdatascience.com/machine-learning-and-data-processing-in-the-gpu-with-vulkan-kompute-c9350e5e5d3a), [mobile development 📱](https://towardsdatascience.com/gpu-accelerated-machine-learning-in-your-mobile-applications-using-the-android-ndk-vulkan-kompute-1e9da37b7617) and [game development 🎮](https://towardsdatascience.com/supercharging-game-development-with-gpu-accelerated-ml-using-vulkan-kompute-the-godot-game-engine-4e75a84ea9f0).
![](https://raw.githubusercontent.com/ethicalml/vulkan-kompute/master/docs/images/komputer-logos.gif)
![](https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/komputer-logos.gif)
## Getting Started
Below you can find a GPU multiplication example using the C++ and Python Kompute interfaces.
You can [join the Discord](https://discord.gg/ywjaBH6v24) for questions/discussion, open a [github issue](https://github.com/EthicalML/vulkan-kompute/issues/new), or read [the documentation](https://kompute.cc/).
You can [join the Discord](https://discord.gg/ywjaBH6v24) for questions/discussion, open a [github issue](https://github.com/KomputeFoundation/kompute/issues/new), or read [the documentation](https://kompute.cc/).
### Your First Kompute (C++)
@ -246,13 +246,13 @@ You are able to try out the interactive Colab Notebooks which allow you to use a
<td width="50%">
<a href="https://colab.research.google.com/drive/1l3hNSq2AcJ5j2E3YIw__jKy5n6M615GP?authuser=1#scrollTo=1BipBsO-fQRD">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/master/docs/images/binder-cpp.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/binder-cpp.jpg">
</a>
</td>
<td>
<a href="https://colab.research.google.com/drive/15uQ7qMZuOyk8JcXF-3SB2R5yNFW21I4P">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/master/docs/images/binder-python.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/binder-python.jpg">
</a>
</td>
@ -280,13 +280,13 @@ Both videos have timestamps which will allow you to skip to the most relevant se
<td width="50%">
<a href="https://www.youtube.com/watch?v=Xz4fiQNmGSA">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/master/docs/images/kompute-cpp-video.png">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/kompute-cpp-video.png">
</a>
</td>
<td>
<a href="https://www.youtube.com/watch?v=AJRyZ09IUdg">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/master/docs/images/kompute-python-video.png">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/kompute-python-video.png">
</a>
</td>
@ -316,7 +316,7 @@ Simplified Kompute Components
<td width=30%>
<img width="100%" src="https://raw.githubusercontent.com/ethicalml/vulkan-kompute/master/docs/images/kompute-vulkan-architecture.jpg">
<img width="100%" src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/kompute-vulkan-architecture.jpg">
<br>
<br>
@ -324,11 +324,11 @@ Simplified Kompute Components
<br>
<br>
<img width="100%" src="https://raw.githubusercontent.com/ethicalml/vulkan-kompute/master/docs/images/suspicious.jfif">
<img width="100%" src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/suspicious.jfif">
</td>
<td>
<img width="100%" src="https://raw.githubusercontent.com/ethicalml/vulkan-kompute/master/docs/images/kompute-architecture.jpg">
<img width="100%" src="https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/kompute-architecture.jpg">
</td>
</tr>
</table>
@ -340,11 +340,11 @@ Kompute provides flexibility to run operations in an asynrchonous way through vk
The image below provides an intuition on how Kompute Sequences can be allocated to different queues to enable parallel execution based on hardware. You can see the [hands on example](https://kompute.cc/overview/advanced-examples.html#parallel-operations), as well as the [detailed documentation page](https://kompute.cc/overview/async-parallel.html) describing how it would work using an NVIDIA 1650 as an example.
![](https://raw.githubusercontent.com/ethicalml/vulkan-kompute/master/docs/images/queue-allocation.jpg)
![](https://raw.githubusercontent.com/KomputeFoundation/kompute/master/docs/images/queue-allocation.jpg)
## Mobile Enabled
Kompute has been optimized to work in mobile environments. The [build system](#build-overview) enables for dynamic loading of the Vulkan shared library for Android environments, together with a working [Android NDK wrapper](https://github.com/EthicalML/vulkan-kompute/tree/master/vk_ndk_wrapper_include) for the CPP headers.
Kompute has been optimized to work in mobile environments. The [build system](#build-overview) enables for dynamic loading of the Vulkan shared library for Android environments, together with a working [Android NDK wrapper](https://github.com/KomputeFoundation/kompute/tree/master/vk_ndk_wrapper_include) for the CPP headers.
<table>
<tr>
@ -353,18 +353,18 @@ Kompute has been optimized to work in mobile environments. The [build system](#b
<p>
For a full deep dive you can read the blog post "<a href="https://towardsdatascience.com/gpu-accelerated-machine-learning-in-your-mobile-applications-using-the-android-ndk-vulkan-kompute-1e9da37b7617">Supercharging your Mobile Apps with On-Device GPU Accelerated Machine Learning</a>".
You can also access the <a href="https://github.com/EthicalML/vulkan-kompute/tree/v0.4.0/examples/android/android-simple">end-to-end example code</a> in the repository, which can be run using android studio.
You can also access the <a href="https://github.com/KomputeFoundation/kompute/tree/v0.4.0/examples/android/android-simple">end-to-end example code</a> in the repository, which can be run using android studio.
</p>
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/android-example/docs/images/android-editor.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/android-example/docs/images/android-editor.jpg">
</td>
<td width="30%">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/android-example/docs/images/android-kompute.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/android-example/docs/images/android-kompute.jpg">
</td>
</tr>
@ -401,7 +401,7 @@ pip install kp
You can also install from master branch using:
```
pip install git+git://github.com/EthicalML/vulkan-kompute.git@master
pip install git+git://github.com/KomputeFoundation/kompute.git@master
```
For further details you can read the [Python Package documentation](https://kompute.cc/overview/python-package.html) or the [Python Class Reference documentation](https://kompute.cc/overview/python-reference.html).
@ -416,7 +416,7 @@ The top level `Makefile` provides a set of optimized configurations for developm
cmake -Bbuild
```
You also are able to add Kompute in your repo with `add_subdirectory` - the [Android example CMakeLists.txt file](https://github.com/EthicalML/vulkan-kompute/blob/7c8c0eeba2cdc098349fcd999102bb2cca1bf711/examples/android/android-simple/app/src/main/cpp/CMakeLists.txt#L3) shows how this would be done.
You also are able to add Kompute in your repo with `add_subdirectory` - the [Android example CMakeLists.txt file](https://github.com/KomputeFoundation/kompute/blob/7c8c0eeba2cdc098349fcd999102bb2cca1bf711/examples/android/android-simple/app/src/main/cpp/CMakeLists.txt#L3) shows how this would be done.
For a more advanced overview of the build configuration check out the [Build System Deep Dive](https://kompute.cc/overview/build-system.html) documentation.

13
SECURITY.md Normal file
View file

@ -0,0 +1,13 @@
# Security Policy
This document provides an overview of the security policy of Kompute.
Kompute aims to follow the two following policies:
* Keep dependencies up to date
* Identify and address common vulnerabilities and exposures
## Reporting a Vulnerability
If you identify a vulnerability the best way to report it is by sending an email to the team via a@ethical.institute. The discussion can then take place there on next steps (ie updating library, reaching out to 3rd party projects, etc).

View file

@ -73,7 +73,7 @@ if html_theme == 'sphinx_material':
'base_url': 'https://kompute.cc',
'color_primary': 'red',
'color_accent': 'light-blue',
'repo_url': 'https://github.com/EthicalML/vulkan-kompute/',
'repo_url': 'https://github.com/KomputeFoundation/kompute/',
'repo_name': 'Kompute',
'globaltoc_depth': 2,
'globaltoc_collapse': False,
@ -81,7 +81,7 @@ if html_theme == 'sphinx_material':
"repo_type": "github",
"nav_links": [
{
"href": "https://github.com/EthicalML/vulkan-kompute/",
"href": "https://github.com/KomputeFoundation/kompute/",
"internal": False,
"title": "Kompute Repo",
},

View file

@ -87,7 +87,7 @@ Your Custom Kompute Operation
Build your own pre-compiled operations for domain specific workflows. Back to `examples list <#simple-examples>`_
We also provide tools that allow you to `convert shaders into C++ headers <https://github.com/EthicalML/vulkan-kompute/blob/master/scripts/convert_shaders.py#L40>`_.
We also provide tools that allow you to `convert shaders into C++ headers <https://github.com/KomputeFoundation/kompute/blob/master/scripts/convert_shaders.py#L40>`_.
.. code-block:: cpp
:linenos:

View file

@ -79,11 +79,11 @@ Other CMake Flags
* - Flag
- Description
* - -DPYTHON_INCLUDE_DIR
- Path to where Python.h is found, used for specifying installation of Python (see `this PR <https://github.com/EthicalML/vulkan-kompute/pull/222>`_)
- Path to where Python.h is found, used for specifying installation of Python (see `this PR <https://github.com/KomputeFoundation/kompute/pull/222>`_)
* - -DPYTHON_LIBRARY
- Path to the Python library, used for specifying installation of Python (see `this PR <https://github.com/EthicalML/vulkan-kompute/pull/222>`_)
- Path to the Python library, used for specifying installation of Python (see `this PR <https://github.com/KomputeFoundation/kompute/pull/222>`_)
* - -DCMAKE_OSX_ARCHITECTURES
- Specifies the target architecture for Apple platforms (see `this issue <https://github.com/EthicalML/vulkan-kompute/issues/223>`_)
- Specifies the target architecture for Apple platforms (see `this issue <https://github.com/KomputeFoundation/kompute/issues/223>`_)
Dependencies
^^^^^^^^^^^^

View file

@ -26,8 +26,8 @@ The simplest way to see how this works is by looking at the github actions comma
These can be found through the following files:
* `CPP Tests <https://github.com/EthicalML/vulkan-kompute/blob/master/.github/workflows/cpp_tests.yml>`_
* `Python Tests <https://github.com/EthicalML/vulkan-kompute/blob/master/.github/workflows/python_tests.yml>`_
* `CPP Tests <https://github.com/KomputeFoundation/kompute/blob/master/.github/workflows/cpp_tests.yml>`_
* `Python Tests <https://github.com/KomputeFoundation/kompute/blob/master/.github/workflows/python_tests.yml>`_
When submitting a PR or merging a PR into master, both of these will run - you can see the logs through the github interface.

View file

@ -28,7 +28,7 @@ You can also install from master branch using:
.. code-block:: python
pip install git+git://github.com/EthicalML/vulkan-kompute.git@master
pip install git+git://github.com/KomputeFoundation/kompute.git@master
Core Python Components

View file

@ -6,7 +6,7 @@ Processing Shaders with Kompute
Demo / testing function to compile shaders
----------------------------------
GLSLANG was initially integrated as part of the framework but it now has been removed due to the license of the glslang pre-processor being under a custom NVIDIA license which explicitly excludes grant of any licenses to NVIDIA's patents in the preprocessor. This is covered in more detail here: https://github.com/EthicalML/vulkan-kompute/pull/235
GLSLANG was initially integrated as part of the framework but it now has been removed due to the license of the glslang pre-processor being under a custom NVIDIA license which explicitly excludes grant of any licenses to NVIDIA's patents in the preprocessor. This is covered in more detail here: https://github.com/KomputeFoundation/kompute/pull/235
For users that are looking to quickly test the processors it is possible to use the function that is provided in the examples which provides a (non-thread-safe / non-robust) implementation that compiles a shader string into spirv bytes. It is not recommended to use in production but it does enable for faster iteration cycles during development.
@ -17,9 +17,7 @@ For users that are looking to quickly test the processors it is possible to use
compileSource(
const std::string& source)
{
if (system(std::string("glslangValidator --stdin -S comp -V -o tmp_kp_shader.comp.spv << END
" + source + "
END").c_str()))
if (system(std::string("glslangValidator --stdin -S comp -V -o tmp_kp_shader.comp.spv << END\n" + source + "\nEND").c_str()))
throw std::runtime_error("Error running glslangValidator command");
std::ifstream fileStream("tmp_kp_shader.comp.spv", std::ios::binary);
std::vector<char> buffer;
@ -34,7 +32,7 @@ Kompute allows for shaders to be loaded directly through the :class:`kp::OpAlgoB
The Kompute codebase has a utility that allows you to convert shader files into C++ header files containing the SPIRV header data. This is useful as it enables developers to compile the SPIRV shaders into the final binary, which avoids the need for multiple files being required.
The utility can be found under `scripts/convert_shaders.py <https://github.com/EthicalML/vulkan-kompute/blob/master/scripts/convert_shaders.py>`_ and consists primarily of a Python CLI that can be called to pass arguments.
The utility can be found under `scripts/convert_shaders.py <https://github.com/KomputeFoundation/kompute/blob/master/scripts/convert_shaders.py>`_ and consists primarily of a Python CLI that can be called to pass arguments.
In order to use this Python utility, you will have to first install the dependencies outlined by the `scripts/requirements.txt` file. You will need to have python 3 and pip3 installed.
@ -69,6 +67,6 @@ You can run `python3 scripts/convert_shaders.py --help` to see all the options a
-v, --verbose Enable versbosity if flag is provided
--help Show this message and exit.
You can see the command that converts the shaders `in the makefile <https://github.com/EthicalML/vulkan-kompute/blob/45ddfe524b9ed63c5fe1fc33773c8f93a18e2fac/Makefile#L143>`_ to get an idea of how you would be able to use this utility.
You can see the command that converts the shaders `in the makefile <https://github.com/KomputeFoundation/kompute/blob/45ddfe524b9ed63c5fe1fc33773c8f93a18e2fac/Makefile#L143>`_ to get an idea of how you would be able to use this utility.

View file

@ -19,13 +19,13 @@ The build structure provides a range of options to build in different Android ha
<br>
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/android-example/docs/images/android-editor.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/android-example/docs/images/android-editor.jpg">
</td>
<td width="30%">
<img src="https://raw.githubusercontent.com/EthicalML/vulkan-kompute/android-example/docs/images/android-kompute.jpg">
<img src="https://raw.githubusercontent.com/KomputeFoundation/kompute/android-example/docs/images/android-kompute.jpg">
</td>
</tr>

View file

@ -1,6 +1,6 @@
# Godot Summator GPU Kompute Example
![](https://github.com/EthicalML/vulkan-kompute/raw/master/docs/images/komputer-godot-4.gif)
![](https://github.com/KomputeFoundation/kompute/raw/master/docs/images/komputer-godot-4.gif)
This repository contains the accompanying code for the Blog post ["Supercharging Game Development with GPU Accelerated Machine Learning"](https://medium.com/@AxSaucedo/supercharging-game-development-with-gpu-accelerated-ml-using-vulkan-kompute-the-godot-game-engine-4e75a84ea9f0).

View file

@ -1,3 +1,3 @@
vulkan-kompute
kompute
lib
godot

View file

@ -1,6 +1,6 @@
# Kompute Godot Example
![](https://github.com/EthicalML/vulkan-kompute/raw/master/docs/images/komputer-godot-4.gif)
![](https://github.com/KomputeFoundation/kompute/raw/master/docs/images/komputer-godot-4.gif)
## Set Up Dependencies
@ -19,13 +19,13 @@ We will be using v0.3.1 of Kompute, and similar to above we will need the built
We can start by cloning the repository on the v0.3.1 branch:
```
git clone --branch v0.3.1 https://github.com/EthicalML/vulkan-kompute/
git clone --branch v0.3.1 https://github.com/KomputeFoundation/kompute/
```
You will be able to use cmake to generate the build files for your platform.
```
cmake vulkan-kompute/. -Bvulkan-kompute/build
cmake kompute/. -Bkompute/build
```
You need to make sure that the build is configured with the same flags required for godot, for example, in windows you will need:

View file

@ -1,4 +1,4 @@
vulkan-kompute
kompute
lib
godot-cpp
.import

View file

@ -1,6 +1,6 @@
# Kompute Godot Example
![](https://github.com/EthicalML/vulkan-kompute/raw/master/docs/images/komputer-godot-4.gif)
![](https://github.com/KomputeFoundation/kompute/raw/master/docs/images/komputer-godot-4.gif)
## Set Up Dependencies

View file

@ -1,7 +1,7 @@
# Kompute Game Engine Integration (Godot)
![](https://github.com/EthicalML/vulkan-kompute/raw/master/docs/images/komputer-godot-4.gif)
![](https://github.com/KomputeFoundation/kompute/raw/master/docs/images/komputer-godot-4.gif)
This repository contains the accompanying code for the Blog post ["Supercharging Game Development with GPU Accelerated Machine Learning"](https://medium.com/@AxSaucedo/supercharging-game-development-with-gpu-accelerated-ml-using-vulkan-kompute-the-godot-game-engine-4e75a84ea9f0).

View file

@ -1,3 +1,3 @@
vulkan-kompute
kompute
lib
godot

View file

@ -5,7 +5,7 @@ This is the accompanying code for the Blog post ["Supercharging Game Development
This section contains the implementation of the Kompute module as a statically compile module built with the Godot engine source code. This approach requires re-compiling the Godot engine source code.
![](https://github.com/EthicalML/vulkan-kompute/raw/master/docs/images/komputer-godot-4.gif)
![](https://github.com/KomputeFoundation/kompute/raw/master/docs/images/komputer-godot-4.gif)
## Set Up Dependencies
@ -25,13 +25,13 @@ We will be using v0.3.1 of Kompute, and similar to above we will need the built
We can start by cloning the repository on the v0.3.1 branch:
```
git clone --branch v0.3.1 https://github.com/EthicalML/vulkan-kompute/
git clone --branch v0.3.1 https://github.com/KomputeFoundation/kompute/
```
You will be able to use cmake to generate the build files for your platform.
```
cmake vulkan-kompute/. -Bvulkan-kompute/build
cmake kompute/. -Bkompute/build
```
You need to make sure that the build is configured with the same flags required for godot, for example, in windows you will need:

View file

@ -1,4 +1,4 @@
vulkan-kompute
kompute
lib
godot-cpp
.import

View file

@ -6,7 +6,7 @@ This is the accompanying code for the Blog post ["Supercharging Game Development
This section contains the implementation of the Kompute module as a shared GdNative Library that can be loaded dynamically through the Godot engine. This approach does not require re-compiling the Godot engine source code.
![](https://github.com/EthicalML/vulkan-kompute/raw/master/docs/images/komputer-godot-4.gif)
![](https://github.com/KomputeFoundation/kompute/raw/master/docs/images/komputer-godot-4.gif)
### Set Up Dependencies

View file

@ -1,6 +1,6 @@
# Waifu2x VGG7 implementation
This demonstrates performing image upscaling using Python and vulkan-kompute.
This demonstrates performing image upscaling using Python and kompute.
To import the no-noise-compensation VGG7 model (into `model-kipper`):

View file

@ -96,7 +96,7 @@ vulkaninfo
Clone Kompute for access to the latest Python tests.
```
git clone https://github.com/EthicalML/vulkan-kompute.git
git clone https://github.com/KomputeFoundation/kompute.git
```
## Install dependencies to run the tests
@ -104,12 +104,12 @@ git clone https://github.com/EthicalML/vulkan-kompute.git
Navigate to the available tests and install required dependencies.
```
cd vulkan-kompute/python/test
cd kompute/python/test
python3 -m venv .venv
source .venv/bin/activate
pip install --upgrade pip wheel
pip install -r requirements-dev.txt
pip install git+git://github.com/EthicalML/vulkan-kompute.git
pip install git+git://github.com/KomputeFoundation/kompute.git
```
## Run the available tests

46
external/bin/xxd.c vendored
View file

@ -1,4 +1,27 @@
/* xxd: my hexdump facility. jw
/*
As indicated at https://lists.debian.org/debian-legal/2015/01/msg00037.html,
the author has permitted redistribution of xxd under the MIT license, as follows:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
* xxd: my hexdump facility. jw
*
* 2.10.90 changed to word output
* 3.03.93 new indent style, dumb bug inserted and fixed.
@ -58,27 +81,6 @@
* make money and share with me,
* lose money and don't ask me.
*
As indicated at https://lists.debian.org/debian-legal/2015/01/msg00037.html,
the author has permitted redistribution of xxd under the MIT license, as follows:
Permission is hereby granted, free of charge, to any person obtaining
a copy of this software and associated documentation files (the
"Software"), to deal in the Software without restriction, including
without limitation the rights to use, copy, modify, merge, publish,
distribute, sublicense, and/or sell copies of the Software, and to
permit persons to whom the Software is furnished to do so, subject to
the following conditions:
The above copyright notice and this permission notice shall be included
in all copies or substantial portions of the Software.
THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND,
EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF
MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT.
IN NO EVENT SHALL THE AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY
CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT,
TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN CONNECTION WITH THE
SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*
*/

View file

@ -587,6 +587,8 @@ static const unsigned int shaders_glsl_logisticregression_comp_spv_len = 4816;
}
#endif // define SHADEROP_SHADERLOGISTICREGRESSION_HPP
// SPDX-License-Identifier: Apache-2.0
#if VK_USE_PLATFORM_ANDROID_KHR
#include <android/log.h>
#include <kompute_vk_ndk_wrapper.hpp>
@ -725,6 +727,8 @@ extern py::object kp_debug, kp_info, kp_warning, kp_error;
#endif // KOMPUTE_SPDLOG_ENABLED
#endif // KOMPUTE_LOG_OVERRIDE
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1062,6 +1066,8 @@ class TensorT : public Tensor
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1241,6 +1247,8 @@ class Algorithm
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1301,6 +1309,8 @@ class OpBase
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1372,6 +1382,8 @@ private:
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1426,6 +1438,8 @@ class OpTensorCopy : public OpBase
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1481,6 +1495,8 @@ class OpTensorSyncDevice : public OpBase
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1538,6 +1554,8 @@ class OpTensorSyncLocal : public OpBase
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1600,6 +1618,8 @@ private:
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
#include <fstream>
namespace kp {
@ -1649,6 +1669,8 @@ class OpMult : public OpAlgoDispatch
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
namespace kp {
/**
@ -1939,6 +1961,8 @@ class Sequence : public std::enable_shared_from_this<Sequence>
} // End namespace kp
// SPDX-License-Identifier: Apache-2.0
#include <set>
#include <unordered_map>

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include <fstream>
#include "kompute/Algorithm.hpp"

View file

@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
if(KOMPUTE_OPT_ANDROID_BUILD)
find_library(android android)

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include <iterator>
#include <set>

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/operations/OpAlgoDispatch.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/operations/OpMemoryBarrier.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "kompute/operations/OpTensorCopy.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "kompute/operations/OpTensorSyncDevice.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "kompute/Tensor.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "kompute/Sequence.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "kompute/Tensor.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#if VK_USE_PLATFORM_ANDROID_KHR

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <set>

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <fstream>

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include "kompute/Core.hpp"

View file

@ -1,3 +1,4 @@
# SPDX-License-Identifier: Apache-2.0
#####################################################
#################### GETEST #######################

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"
@ -168,7 +169,7 @@ TEST(TestAsyncOperations, TestManagerAsyncExecution)
// AMD Drivers in Windows may see an error in this line due to timeout.
// In order to fix this, it requires a change on Windows registries.
// More details on this can be found here: https://docs.substance3d.com/spdoc/gpu-drivers-crash-with-long-computations-128745489.html
// Context on solution discussed in github: https://github.com/EthicalML/vulkan-kompute/issues/196#issuecomment-808866505
// Context on solution discussed in github: https://github.com/KomputeFoundation/kompute/issues/196#issuecomment-808866505
sq1->evalAsync<kp::OpAlgoDispatch>(algo1);
sq2->evalAsync<kp::OpAlgoDispatch>(algo2);

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include <gtest/gtest.h>

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"
#include "kompute/Kompute.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"
#include "kompute/Kompute.hpp"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#include "gtest/gtest.h"

View file

@ -1,3 +1,5 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
#include <iostream>
@ -8,7 +10,7 @@
* Compile a single glslang source from string value. This is only meant
* to be used for testing as it's non threadsafe, and it had to be removed
* from the glslang dependency and now can only run the CLI directly due to
* license issues: see https://github.com/EthicalML/vulkan-kompute/pull/235
* license issues: see https://github.com/KomputeFoundation/kompute/pull/235
*
* @param source An individual raw glsl shader in string format
* @return The compiled SPIR-V binary in unsigned int32 format

View file

@ -1,3 +1,4 @@
// SPDX-License-Identifier: Apache-2.0
#pragma once
/*