8000 GitHub - ROCm/embers
[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

ROCm/embers

Repository files navigation

Embers

A header-only HIP library with a slew of user-focused features for GPU test development
Explore the docs »

Report a Bug · Request a Feature

About Embers

Embers is a header-only HIP library with a slew of features enhancing heterogeneous programming. These features are broken down into the following blocks:

  • amdgpu
    • Functions providing GPU family based on PCI Device ID
    • Functionality to detect and report HW blocks running this code (SEs, CUs, waves)
  • crypto
    • Implementations of keccak, cubehash, and ethash
  • helpers
    • Templated format agnostic numeric equality checkers
    • Templated bit helpers
    • HIP kernels for memcpy, memset, and memcmp
    • Xlator class for translating system VAs to PAs
  • memory
    • Heterogeneous unique_ptr with host side ownership
  • primitives
    • Heterogeneous multi-device synchronization primitives
      • barriers
      • monotonic counters
      • locks
  • rand
    • Multiple pseudorandom number generator implementations
    • Fill buffer rand heterogeneous helper

back to top

Built With

ROCm™ C++ Cmake Linux

back to top

Getting Started

Build From Source

Prerequisites

  • Cmake
  • Compiler supporting HIP and C++20 (LLVM is a good choice)

Build

sudo apt install cmake
git clone --recursive https://github.com/ROCm/embers
cd embers && mkdir -p build && cd build
CXX=<path_to_hipcc> cmake -DCMAKE_BUILD_TYPE=Release -DCMAKE_PREFIX_PATH=<path_to_rocm> ..
make -j

Either make install or make -j package and install the built packages

back to top

Usage

See the unit tests

back to top

Contributing

Any contributions you make are greatly appreciated.

If you have a suggestion that would make this better, please fork the repo and create a pull request. You can also simply open an issue with the tag "enhancement". Don't forget to give the project a star! Thanks again!

  1. Fork the Project
  2. Create your Feature Branch (git checkout -b feature/AmazingFeature)
  3. Commit your Changes (git commit -m 'Add some AmazingFeature')
  4. Push to the Branch (git push origin feature/AmazingFeature)
  5. Open a Pull Request

back to top

License

See LICENSE.txt for more information.

back to top

Contact

Project Link: https://github.com/ROCm/embers

back to top

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Contributors 2

  •  
  •  
0