Skip to content

Commit edecf60

Browse files
fknorrPeterTh
authored andcommitted
Render CTS progress in README
1 parent 963933a commit edecf60

File tree

3 files changed

+170
-1
lines changed

3 files changed

+170
-1
lines changed

README.md

+5-1
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,11 @@
66

77
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.
88

9-
SimSYCL is in a very early stage of development - try it at your own risk!
9+
## Implementation progress
10+
11+
SimSYCL is still under development, but it already passes a large portion of the [SYCL Conformance Test Suite](https://github.com/KhronosGroup/SYCL-CTS):
12+
13+
![SYCL spec conformance by CTS test suites passed](resources/cts_state.svg)
1014

1115
## Requirements
1216

ci/render_cts_state.py

+33
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,33 @@
1+
"""
2+
Renders the ratios from `cts_state.csv` as `resources/cts_state.svg`.
3+
"""
4+
5+
import os
6+
7+
import pandas as pd
8+
from matplotlib import pyplot as plt
9+
10+
os.chdir(os.path.join(os.path.dirname(__file__), os.path.pardir))
11+
12+
state = pd.read_csv('ci/cts_state.csv', delimiter=';')
13+
counts = state.groupby('status').agg(count=('suite', 'size'))['count'].to_dict()
14+
15+
labels = ['passed', 'run failed', 'build failed', 'not applicable']
16+
colors = ['#4a0', '#fa0', '#e44', '#aaa']
17+
18+
plt.rcParams['svg.fonttype'] = 'none'
19+
20+
fig, ax = plt.subplots(figsize=(8, 0.6))
21+
left = 0
22+
for l, c in zip(labels, colors):
23+
n = counts[l]
24+
ax.barh(0, n, left=left, color=c, label=l)
25+
ax.text(left + n/2, 0, str(n), ha='center', va='center', weight='bold')
26+
left += n
27+
ax.set_xlim(0, left)
28+
ax.axis('off')
29+
ax.set_title('SimSYCL spec conformance by number of CTS categories')
30+
31+
fig.legend(loc='lower center', ncols=len(labels),
32+
bbox_to_anchor=(0, -0.4, 1, 0.5), frameon=False)
33+
fig.savefig('resources/cts_state.svg', bbox_inches='tight')

resources/cts_state.svg

+132
Loading

0 commit comments

Comments
 (0)