File:Supercomputing-rmax-graph2.svg
Summary
Description |
English: Plot of highest supercomputer performance over time |
Date | |
Source | Own work |
Author | Morn |
Other versions |
|
Licensing
I, the copyright holder of this work, hereby publish it under the following license:
![]() ![]() |
This file is made available under the Creative Commons CC0 1.0 Universal Public Domain Dedication. |
The person who associated a work with this deed has dedicated the work to the public domain by waiving all of their rights to the work worldwide under copyright law, including all related and neighboring rights, to the extent allowed by law. You can copy, modify, distribute and perform the work, even for commercial purposes, all without asking permission.
|
Python source code
#!/usr/bin/env python3
from pylab import * # uses Matplotlib
import matplotlib.dates as mdates
import datetime
# Data from HTML source at http://top500.org/statistics/perfdevel/
# and https://en.wikipedia.org/w/index.php?title=Supercomputer&oldid=380073785
li = """
1938,1
1941,20
1943,5000
1944,25000
1946,50000
1954,67000
1956,83000
1958,400000
1960,250000
1961,1.2
1964,3
1969,36
1974,100
1975,150
1976,250
1981,400
1983,941
1984,2.4
1985,3.9
1989,10.3
1990,23.2
1993-05-01,59.7,0.42,1128.57
1993-10-01,124,0.47,1493.35
1994-05-01,143.4,0.84,2317.01
1994-10-01,170,1.16,2732.24
1995-05-01,170,1.96,3927
1995-10-01,170,2.49,4784.34
1996-05-01,220.4,3.31,5892.24
1996-10-01,368.2,4.62,7981.24
1997-05-01,1068,7.67,12844.19
1997-10-01,1338,9.51,16898.12
1998-05-01,1338,13.39,22625.14
1998-10-01,1338,17.12,29367.6
1999-05-01,2121,24.7,39062.57
1999-10-01,2379,33.09,50938.56
2000-05-01,2379,43.82,64230.11
2000-10-01,4938,55.3,88082.45
2001-05-01,7226,67.78,108276.78
2001-10-01,7226,94.3,134977.51
2002-05-01,35860,134.3,222263.77
2002-10-01,35860,195.8,291814.16
2003-05-01,35860,241.4,370049.26
2003-10-01,35860,378.6,526740.41
2004-05-01,35860,606.9,812313.21
2004-10-01,70720,840.02,1128834.52
2005-05-01,136800,1166,1694886.64
2005-10-01,280600,1645.7,2299341.68
2006-05-01,280600,2026,2789465.47
2006-10-01,280600,2736.9,3527867.61
2007-05-01,280600,4031,4950600.48
2007-10-01,478200,5937.33,6977593.51
2008-05-01,1026000,8996.78,12152691.08
2008-10-01,1105000,12593.5,17373520.05
2009-05-01,1105000,17110,22640789.57
2009-10-01,1759000,20070,28006450.09
2010-05-01,1759000,24670,32434684.56
2010-10-01,2566000,31124.36,43786881.73
2011-05-01,8162000,40187.29,58930025.84
2011-10-01,10510000,50941.4,74069633.68
2012-05-01,16324751,60824.4,123417786.71
2012-10-01,17590000,76411,162139386.75
2013-05-01,33862700,96619,223654338.13
2013-10-01,33862700,117831.30,250080467.17
2014-05-01,33862700,133700,273763781.09
2014-10-01,33862700,153381,308850512.09
2015-05-01,33862700.00,164559,359296049.36
2015-10-01,33862700.00,206304,417807043.60
2016-05-01,93014593.88,286100,567353038.81
2016-10-01,93014593.88,349333,672112377.49
2017-05-01,93014593.88,432200,748700301.81
2017-10-01,93014593.88,548672,845120504.67
2018-05-01,122300000.00,715551,1210914864.08
2018-10-01,143500000.00,874800,1414955581.78
2019-05-01,148600000,1021000,1559575379.78
2019-10-01,148600000,1142000,1646887142.78
2020-05-01,415530000,1228000,2206134393.77
2020-10-01,442010000,1316840,2428761851.77
2021-05-01,442010000,1511000,2786058799.77
2021-10-01,442010000,1649110,3036861783.77
2022-05-01,1102000000,1649110,4403083213.77
2022-10-01,1102000000,1729000,4864384415.77
2023-05-01,1194000000,1872000,5239024665.77
2023-10-01,1194000000,2014460,7012215925.77
2024-05-01,1206000000,2129920,8213336855.77
2024-10-01,1742000000,2310230,11723130435.77
"""
x1, y1, x2, y2 = [], [], [], []
for line in li.splitlines():
if ',' not in line:
continue
e = line.split(',')
if '-' not in e[0]:
m,d = 1,1
y = int(e[0])
else:
y, m, d = [int(w) for w in e[0].split('-')]
f = float(e[1])
if y > 1983:
mult = 1e9
elif y > 1960:
mult = 1e6
else:
mult = 1
if y < 1960:
y2.append(mult*f)
x2.append(datetime.date(y, m, d))
else:
y1.append(mult*f)
x1.append(datetime.date(y, m, d))
figure(figsize=(14,9))
matplotlib.rcParams.update({'font.size': 15})
semilogy(x1, y1, label = "FLOPS", lw = 2, color = "blue", marker = "d")
semilogy(x2, y2, label = "OPS", lw = 2, color = "green", marker = "p")
legend(loc = "upper left")
xlabel('Year')
ylabel('Peak speed (Rmax)')
grid('on')
xticks([datetime.date(y,1,1) for y in range(1935, 2040, 5)], rotation = 30)
yticks([10**q for q in range(-1, 20)])
axis((datetime.date(1937,1,1), datetime.date(2030,1,1), .1, 1e19))
ax = gca()
ax.xaxis.set_major_formatter(mdates.ConciseDateFormatter(ax.xaxis.get_major_locator()))
tight_layout()
savefig("Supercomputing-rmax-graph.svg")
show()
Category:CC-Zero
Category:Charts showing data through 2021
Category:Computing in the 20th century
Category:Computing in the 21st century
Category:Graphs of TOP500
Category:History of computing
Category:Images with Python source code
Category:Pages using deprecated source tags
Category:SVG created with Matplotlib
Category:Science and technology timelines
Category:Self-published work
Category:Supercomputing diagrams
Category:Time in computing