• Stars
    star
    16
  • Rank 1,311,288 (Top 26 %)
  • Language
    C
  • License
    GNU General Publi...
  • Created almost 12 years ago
  • Updated over 7 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

A small C OpenCL wrapper

oclkit, plain and stupid OpenCL helper

oclkit is a small set of C functions, to avoid writing the same OpenCL boiler plate over and over again, yet keeping full control over executing OpenCL. It also contains a set of binaries to check and test for the installed OpenCL runtime.

API

The API should be pretty self-explanatory by examining ocl.h.

Binaries

Run make in the top-level directory and change into build/examples. Most binaries are compiled with command-line flags to chose the OpenCL platform and device type.

check-infrastructure-times

Measures the time for typical boilerplate operations such as clCreateContext, clBuildProgram etc.

$ ./check-infrastructure-times

Create context: 0.150983 s
Build program : 0.002060 s
Create kernel : 0.000004 s
Create buffer : 0.000003 s
Cleanup       : 0.061502 s

check-launch-latencies

Runs a dummy kernel and measures the OpenCL profiling times and wall clock time for submission and execution.

$ ./check-launch-latencies

GeForce GTX TITAN Black
  wait for submission:  2.88220 us
  wait for execution :  7.48316 us
  wall clock         : 22.12242 us

GeForce GTX 580
  wait for submission:  2.38133 us
  wait for execution :  4.08007 us
  wall clock         : 16.33144 us

check-queue-impact

Uses a single blocking, an out-of-order, two or three queues to write data, execute a kernel and read back data. The total

test-profile-timer

Outputs the queue profiling timer resolution for each device.

$ ./test-profile-timer

GeForce GTX TITAN Black       : 1000 ns
GeForce GTX 580               : 1000 ns

test-double-flags

Outputs the double extension flags for each device.

$ ./test-double-flags


GeForce GTX TITAN Black
  cl_khr_fp64 = 1
  cl_amd_fp64 = 0

GeForce GTX 580
  cl_khr_fp64 = 1
  cl_amd_fp64 = 0

dump-opencl-binary

Outputs the compiled binary (which might be PTX assembly for NVIDIA GPUs) for each device by appending a counter, i.e.

$ ./dump-opencl-binary test.cl

Generates output files test.cl.0, .test.cl.1 etc.

License

The code is licensed under GPL v3.

More Repositories

1

mtheme

A modern LaTeX Beamer theme
TeX
6,066
star
2

vim-move

Plugin to move lines and selections up and down
Vim Script
1,176
star
3

wastebin

wastebin is a pastebin
Rust
147
star
4

inkdrop

Artsy pixel image to vector graphics converter
Rust
66
star
5

iridium

Standard Notes client written in Rust and GTK
Rust
66
star
6

pkgconfig

A Python interface to the pkg-config command line tool
Python
59
star
7

vim-tex-fold

File type plugin for folding TeX files
Vim Script
48
star
8

jekyll-ditaa

Jekyll ditaa Plugin
Ruby
29
star
9

python-phant

Python client library for Sparkfun's Phant
Python
25
star
10

ranger-annex

git annex plugin for ranger
Python
22
star
11

zk-spaced

Spaced repetition for zk
Rust
15
star
12

configs

Dot files
Lua
15
star
13

tree-painter

tree-sitter based syntax highlighting HTML rendering
Rust
13
star
14

beancount-language-server

Beancount language server
Rust
10
star
15

python-standardfile

Standard File client implementation in Python
Python
8
star
16

vim-ini-fold

Fold expression for ini-like files
Vim Script
5
star
17

vim-lilypond

LilyPond Vim plugin
Vim Script
4
star
18

pandoc-notes

Templates for a single HTML page
4
star
19

git-utils

Small TUI programs to ease a few Git annoyances
Rust
4
star
20

wastebin.nvim

A neovim plugin for the wastebin pastebin
Lua
3
star
21

qperf

Measure performance impact of OpenCL profiling queues
C
3
star
22

books

Gtk+ 3.0 EPUB viewer
C
3
star
23

EggPropertyTreeView

A Gtk+ tree view widget and cell renderer for displaying GObject properties
C
2
star
24

ocl-regressions

OpenCL regression test suite
C
2
star
25

tope-fft

Mirror of https://code.google.com/p/tope-fft/ with small adaptions
C
2
star
26

splat

Static photo gallery generator
Rust
2
star
27

tokio-net-vs-uring

Stupid tokio vs tokio-uring benchmarks
Rust
2
star
28

git-pick-from

Text user interface for the Git cherry-pick command
Python
2
star
29

passport

GTK4 frontend for GNU pass
Rust
2
star
30

protoc-gen-mdbook

protoc plugin to generate mdBook pages
Rust
2
star
31

inkscape-flatpak

Flatpak build recipe for Inkscape
Makefile
2
star
32

gir2rst

Generate Sphinx documentation from GIR files
Python
2
star
33

clib-doc

Documentation generator for clib modules
Python
2
star
34

kseta-dvcs-talk

Sources for the Git talk given at KSETA PhD student workshop 2013
2
star
35

gotham

A collection of pgfplots styles
TeX
2
star
36

chromazone

A terminal colorizer
Rust
1
star
37

professorenrunde

Letter series for KIT CS Professorenrunde
TeX
1
star
38

quotes

Displays quotations loaded from quote webpages.
Python
1
star
39

ocl-stat

OpenCL resource tracker
C
1
star
40

darktable-flatpak

Flatpak recipe for Darktable
Makefile
1
star
41

pyl

Almoste literate Python with Pandoc Markdown.
Python
1
star
42

advent-of-code-2021

Advent of Code 2021
Rust
1
star
43

vim-meson

Vim syntax highlighting for meson
Vim Script
1
star
44

refp

Minimal reference counted pointers
C
1
star
45

kseta-opencl-talk

Sources for the OpenCL talk given at KSETA PhD student workshop 2013
1
star
46

rigal

Static photo gallery generator – similar to Sigal 1.4
Rust
1
star
47

matrix-ticker

Matrix client for the Raspberry Pi Zero + 128x64 OLED display
Rust
1
star
48

axum-notes

axum notes, examples and tutorials
Rust
1
star
49

meater

MEATER crate + app
Rust
1
star
50

mdbook-split

Split first-level heading content into individual chapters
Rust
1
star
51

multithreaded-lame-frontend

Toy example that encodes PCM data in WAVE containers to MP3 using lame
C
1
star
52

zk-pub

Zettelkasten static publisher
Rust
1
star
53

staticrss

Static site generator for RSS and Atom feeds
Python
1
star
54

phgen

Phantom and Sinogram Generator
C
1
star
55

EggPiecewiseLinearView

A piecewise linear view widget for Gtk+ adapted from GIMP
C
1
star
56

bass-patterns

Finger patterns for electric bass guitar
Makefile
1
star
57

af

Python
1
star