Skip to main content

A simple framework for automated testing of OpenCL kernels

Project description

Master of Kernel Testing

MOKT is a library for data-driven testing of OpenCL kernels. It obtains valid inputs and outputs from TensorFlow models — this way, you can easily get test data for a wide variety of machine learning operations, ranging from primitives such as ReLU and element-wise addition to whole subgraphs, e.g. ResNet's bottleneck blocks.

Installation

Install using pip:

pip install mokt

Note that only Python 3 is supported.

Usage

Check out examples to see MOKT in action.

Data extraction

It is recommended that you read the data extraction design note to get familiar with the way MOKT interacts with TensorFlow.

The high-level data API is used as follows:

@TestData(
    tf_checkpoint_dir='/path/to/checkpoint/dir',
    tf_values={'input': 'operation/name:0', 'output': 'another/op:0'})
def my_test_func(test_data):
    print(type(test_data['input'])) # <class 'numpy.ndarray'>

my_test_func()

Choosing the correct nodes for your tests is easier with TensorBoard, which visualizes the computational graph and shows helpful info, such as tensor shapes, operation names, etc.

Running OpenCL kernels

Execution is performed in a TestEnvironment, which conveniently wraps host state and handles data conversion (read the class documentation for more information).

You may of course choose to write your own specialized implementation and use this library for data extraction only.

Project details


Release history Release notifications | RSS feed

This version

0.9

Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

mokt-0.9.tar.gz (6.0 kB view details)

Uploaded Source

Built Distribution

mokt-0.9-py3-none-any.whl (7.1 kB view details)

Uploaded Python 3

File details

Details for the file mokt-0.9.tar.gz.

File metadata

  • Download URL: mokt-0.9.tar.gz
  • Upload date:
  • Size: 6.0 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6

File hashes

Hashes for mokt-0.9.tar.gz
Algorithm Hash digest
SHA256 ddd6ccf6cbac1a1b05978242f9531453b131f5daad9622fee87de61563bb325e
MD5 c8d4859e1d20201d587b62cac87fe982
BLAKE2b-256 8e269b1cbc434d22724f5cb0e81eab5c1a3ec2361853bd43d74304112f0495bc

See more details on using hashes here.

File details

Details for the file mokt-0.9-py3-none-any.whl.

File metadata

  • Download URL: mokt-0.9-py3-none-any.whl
  • Upload date:
  • Size: 7.1 kB
  • Tags: Python 3
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/1.11.0 pkginfo/1.4.2 requests/2.19.1 setuptools/39.1.0 requests-toolbelt/0.8.0 tqdm/4.24.0 CPython/3.6.6

File hashes

Hashes for mokt-0.9-py3-none-any.whl
Algorithm Hash digest
SHA256 004c480d274f9ba55730ea9b0db98b6e3ff4367148880c3f419f775221373db5
MD5 e6cd970684847139368cb01264e09961
BLAKE2b-256 9a6ceb1d9f0a5636300a2e3a9e03dd29058dd8748ee07d4938075498b8b2e4f2

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page