Skip to content

Commit

Permalink
Render CTS progress in README
Browse files Browse the repository at this point in the history
  • Loading branch information
fknorr committed Dec 28, 2024
1 parent d70a80c commit 5a0c42e
Show file tree
Hide file tree
Showing 3 changed files with 166 additions and 1 deletion.
6 changes: 5 additions & 1 deletion README.md
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,11 @@

SimSYCL is a single-threaded, synchronous, library-only implementation of the SYCL 2020 specification. It enables you to test your SYCL applications against simulated hardware of different characteristics and discover bugs with its extensive verification capabilities.

SimSYCL is in a very early stage of development - try it at your own risk!
## Implementation progress

SimSYCL is still under development, but it already passes a large portion of the [SYCL Conformance Test Suite](https://github.com/KhronosGroup/SYCL-CTS):

![SYCL spec conformance by CTS test suites passed](resources/cts_state.svg)

## Requirements

Expand Down
29 changes: 29 additions & 0 deletions ci/render_cts_state.py
Original file line number Diff line number Diff line change
@@ -0,0 +1,29 @@
import os

import pandas as pd
from matplotlib import pyplot as plt

os.chdir(os.path.join(os.path.dirname(__file__), os.path.pardir))

state = pd.read_csv('ci/cts_state.csv', delimiter=';')
counts = state.groupby('status').agg(count=('suite', 'size'))['count'].to_dict()

labels = ['passed', 'run failed', 'build failed', 'not applicable']
colors = ['#4a0', '#fa0', '#e44', '#aaa']

plt.rcParams['svg.fonttype'] = 'none'

fig, ax = plt.subplots(figsize=(8, 0.6))
left = 0
for l, c in zip(labels, colors):
n = counts[l]
ax.barh(0, n, left=left, color=c, label=l)
ax.text(left + n/2, 0, str(n), ha='center', va='center', weight='bold')
left += n
ax.set_xlim(0, left)
ax.axis('off')
ax.set_title('SYCL spec conformance by number of CTS categories')

fig.legend(loc='lower center', ncols=len(labels),
bbox_to_anchor=(0, -0.4, 1, 0.5), frameon=False)
fig.savefig('resources/cts_state.svg', bbox_inches='tight')
132 changes: 132 additions & 0 deletions resources/cts_state.svg
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.

0 comments on commit 5a0c42e

Please sign in to comment.