Skip to content

Commit

Permalink
added requirements and preparations for version 0.1.0
Browse files Browse the repository at this point in the history
  • Loading branch information
benvanwerkhoven committed Nov 2, 2016
1 parent 9bf904b commit 903f1c0
Show file tree
Hide file tree
Showing 5 changed files with 64 additions and 5 deletions.
10 changes: 10 additions & 0 deletions CHANGELOG.md
Original file line number Diff line number Diff line change
Expand Up @@ -3,14 +3,24 @@ All notable changes to this project will be documented in this file.
This project adheres to [Semantic Versioning](http://semver.org/).

## [Unreleased]




## [0.1.0] - 2016-11-02
### Changed
- verbose now also prints debug output when correctness check fails
- restructured the utility functions into util and core
- restructured the code to prepare for different strategies
- shortened the output printed by the tune_kernel
- allowing numpy integers for specifying problem size

### Added
- a public roadmap
- requirements.txt
- example showing GPU code unit testing with the Kernel Tuner
- support for passing a (list of) filenames instead of kernel string
- runner that takes a random sample of 10 percent
- support for OpenCL platform selection
- support for using tuning parameter names in the problem size

Expand Down
4 changes: 2 additions & 2 deletions doc/source/conf.py
Original file line number Diff line number Diff line change
Expand Up @@ -57,9 +57,9 @@
# built documents.
#
# The short X.Y version.
version = u'0.0.1'
version = u'0.1.0'
# The full version, including alpha/beta/rc tags.
release = u'0.0.1'
release = u'0.1.0'

# The language for content autogenerated by Sphinx. Refer to documentation
# for a list of supported languages.
Expand Down
6 changes: 6 additions & 0 deletions requirements.txt
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
mock>=2.0.0
nose>=1.3.7
numpy>=1.7.1
pycuda>=2016.1.1
pyopencl>=2015.2.4

38 changes: 38 additions & 0 deletions roadmap.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,38 @@
# Roadmap for the Kernel Tuner

This roadmap presents an overview of the features we are currently planning to
implement. Please note that this is a living document that will evolve as
priorities grow and shift.

### version 0.2.0

This is the list of features that we want to have implemented by the next version.

* Option to store tuning results in a file (e.g. json, csv, ... )
* Option to set a function that performs output verfication, instead of numpy.allclose()
* Option to change defaults for 'block_size_x', and so on
* Option to set a function that computes search space restriction, instead of a list of strings
* Option to set compiler name, when using C backend
* Option to set compiler options

### version 1.0.0

These functions are to be implemented by version 1.0.0, but may already be
implemented in earlier versions.

* Tuning kernels in parallel on a single node
* Tuning kernels in parallel on a set of nodes in a GPU clusters
* Tuning kernels using machine learning or search strategies
* Store tuning results in a database and provide an API for analysis

### Low priority

These are the things that we would like to implement, but we currently have no
demand for it. If you are interesting in any of these, let us know!

* Tuning compiler options in combination other parameters kernel
* Example that tunes a kernel using thread block re-indexing
* Example host code that runs a pipeline of kernels
* Example CUDA host code that uses runtime compilation


11 changes: 8 additions & 3 deletions setup.py
Original file line number Diff line number Diff line change
@@ -1,17 +1,20 @@
import os
from setuptools import setup

with open('requirements.txt') as f:
required = f.read().splitlines()

def read(fname):
return open(os.path.join(os.path.dirname(__file__), fname)).read()

setup(
name = "kernel_tuner",
version = "0.0.1",
version = "0.1.0",
author = "Ben van Werkhoven",
author_email = "b.vanwerkhoven@esciencecenter.nl",
description = ("A simple CUDA kernel tuner in Python"),
description = ("A simple CUDA/OpenCL kernel tuner in Python"),
license = "Apache 2.0",
keywords = "auto-tuning gpu pycuda cuda pyopencl opencl",
keywords = "auto-tuning gpu computing pycuda cuda pyopencl opencl",
url = "http://benvanwerkhoven.github.io/kernel_tuner/",
packages=['kernel_tuner', 'kernel_tuner.runners'],
long_description=read('README.md'),
Expand All @@ -30,5 +33,7 @@ def read(fname):
'Topic :: System :: Distributed Computing',
'Development Status :: 4 - Beta',
],
install_requires=required,

)

0 comments on commit 903f1c0

Please sign in to comment.