Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

[FEAT] Implement benchmark for cpu and gpu for initializer methods Closes #57 #65

Conversation

jiyo4476
Copy link
Contributor

Submission Checklist:

Due to the inherent complexity of this library, we created this checklist to remind everyone of the essential steps to have an MR approved depending on the type of change that is made. You can delete this.

  • Have you followed the guidelines in our Contributing document?
  • Have you checked to ensure there aren't other open Pull Requests for the same update/change?
  • Does your submission pass tests with ZEND_ALLOC enabled? export USE_ZEND_ALLOC=1 && make test
  • Does your submission pass tests with ZEND_ALLOC disabled? export USE_ZEND_ALLOC=0 && make test

Change to methods and operations

  • Have you verified that your change does not break backwards compatibility?
  • Have you updated the operation(s) tests for your changes, as applicable?
  • Optional: Have your changes also been tested on the GPU? If you don't have a GPU available, you'll need to wait for a community member to perform the approval with a GPU. This only applies to changes that can affect GPU functionality.
  • Optional: Have your changes also been tested on the GPU with the NDARRAY_VCHECK option enabled and no VRAM memory leaks were displayed? export NDARRAY_VCHECK=1 && make test

Changes to Core Components:

This include changes to: buffer.c, gpu_alloc.c, ndarray.c, iterators.c and their associated header files.

  • Have you added an explanation of what your changes do and why you'd like us to include them?
  • Have you written new tests for your core changes, as applicable?
  • Your change does not affect the GPU, or if it does, it was tested with the GPU and the NDARRAY_VCHECK environment variable set and with no VRAM memory leaks warnings?

jiyo4476 and others added 19 commits July 14, 2024 19:22
Added benchmark files for CPU initializers using phpBench
* feat: squeeze manipulation routine with axis support

* feat: NDArray::full implementation

* feat: NDArray::fill release

* feat: argmin and argmax with axis support

* feat: NDArray::positive implementation

* feat: NDArray::reciprocal implementation

* feat: NDArray::reciprocal stubs

* feat: NDArray::reciprocal stubs

* feat: NDArray::swapaxes implementation
feat: NDArray::transpose permutation

* feat: NDArray::swapaxes and new transpose stubs

* feat: NDArray::argmin and argmax keepdims option

* feat: NDArray::rollaxis implementation

* feat: NDArray::moveaxis implementation

* fix: improvements to the slicing mechanism

* feat: ndarray slicing stubs

* fix: fixed slicing shape when arrays contain values

* feat: hstack, vstack and dstack implementation

* feat: column_stack implementation

* feat: column_stack PHP stubs

* feat: NDArray::concatenate implementation

* feat: NDArray::append implementation

* feat: NDArray::append stubs

* docs: update README.md

* fix: NDArray::append memory leak when using PHP arrays as arguments.
+ Added parameter providers for readability and coding best practices

- removed repetitive code
…hods' of https://github.com/jiyo4476/numpower into Implement-benchmark-for-CPU-and-GPU-for-initializer-methods
+ Added default PHPBench configuration file
Fixed comment for NDArray ones
Refactored function names for clarity, and fixed phpBench setup method
Added benchmarks for Linear Algebra methods with the exception of functions Cond, Inv, and Qr
Added benchmarks for sum and products methods
Added benchmarks for the arithmetic methods
- removed initial testArray values
Added default Revs and iteration values for more accurate runtime time estimates.
- remove extra comments on Cholesky benchmark file
- removed extra param comment in linalg file
+ Benchmark for QR decomposition function
+ Benchmark for Inverse function
+ Benchmark for Cond function
+ Updated .gitignore to ignore generated configure file
+ Added MIT license under composer file
Added Group annotations to all benchmarks.
Updated Array Initializer Benchmark to utilize zeros Initializer for setup instead of hard coded arrays
Removed temp files from .gitignore
@jiyo4476 jiyo4476 changed the title Implement benchmark for cpu and gpu for initializer methods [FEAT] Implement benchmark for cpu and gpu for initializer methods [Issues #57] Sep 26, 2024
@jiyo4476 jiyo4476 changed the title [FEAT] Implement benchmark for cpu and gpu for initializer methods [Issues #57] [FEAT] Implement benchmark for cpu and gpu for initializer methods Closes #57 Sep 26, 2024
@henrique-borba henrique-borba merged commit d6ed83b into NumPower:feat/57-feat-implement-benchmark-for-cpu-and-gpu-for-linear-algebra-arithmetic-and-initializer-methods Sep 30, 2024
4 checks passed
@jiyo4476 jiyo4476 deleted the Implement-benchmark-for-CPU-and-GPU-for-initializer-methods branch September 30, 2024 21:18
@jiyo4476 jiyo4476 restored the Implement-benchmark-for-CPU-and-GPU-for-initializer-methods branch September 30, 2024 21:24
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

Successfully merging this pull request may close these issues.

2 participants