457 lines
85 KiB
Plaintext
457 lines
85 KiB
Plaintext
{
|
|
"cells": [
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 1,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"import matplotlib.pyplot as plt\n",
|
|
"from matplotlib import gridspec\n",
|
|
"import matplotlib\n",
|
|
"import numpy as np\n",
|
|
"import itertools\n",
|
|
"cycol = next(itertools.cycle('brgcmk'))\n",
|
|
"\n",
|
|
"#set the global plot settings\n",
|
|
"#plt.rc('font', **{'family': 'serif', 'serif': ['Computer Modern']})\n",
|
|
"#plt.rc('text', usetex=True)\n",
|
|
"plt.rcParams['figure.figsize'] = (8, 6)\n",
|
|
"plt.rcParams['font.size'] = 18\n",
|
|
"plt.rcParams['axes.labelsize'] = plt.rcParams['font.size']\n",
|
|
"plt.rcParams['axes.titlesize'] = 1.75*plt.rcParams['font.size']\n",
|
|
"plt.rcParams['legend.fontsize'] = plt.rcParams['font.size']\n",
|
|
"plt.rcParams['xtick.labelsize'] = 1.25*plt.rcParams['font.size']\n",
|
|
"plt.rcParams['ytick.labelsize'] = 1.25*plt.rcParams['font.size']\n",
|
|
"#plt.rcParams['savefig.dpi'] = 4*plt.rcParams['savefig.dpi']\n",
|
|
"plt.rcParams['xtick.major.size'] = 5 \n",
|
|
"plt.rcParams['xtick.minor.size'] = 3 \n",
|
|
"plt.rcParams['xtick.major.width'] = 1.0 \n",
|
|
"plt.rcParams['xtick.minor.width'] = 1 \n",
|
|
"plt.rcParams['ytick.major.size'] = 5 \n",
|
|
"plt.rcParams['ytick.minor.size'] = 3 \n",
|
|
"plt.rcParams['ytick.major.width'] = 1.0 \n",
|
|
"plt.rcParams['ytick.minor.width'] = 1 \n",
|
|
"plt.rcParams['legend.frameon'] = False\n",
|
|
"plt.rcParams['legend.loc'] = 'upper right'\n",
|
|
"plt.rcParams['axes.linewidth'] = 2\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"data": {
|
|
"text/plain": [
|
|
"'/opt/homebrew/lib/python3.11/site-packages/matplotlib/mpl-data/fonts/ttf/DejaVuSans.ttf'"
|
|
]
|
|
},
|
|
"execution_count": 3,
|
|
"metadata": {},
|
|
"output_type": "execute_result"
|
|
}
|
|
],
|
|
"source": [
|
|
"#matplotlib.font_manager.get_cachedir()\n",
|
|
"matplotlib.font_manager.findfont('Humor Sans')"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"from IPython.core.display import HTML\n",
|
|
"\n",
|
|
"def make_html(fontname):\n",
|
|
" return \"<p>{font}: <span style='font-family:{font}; font-size: 24px;'>{font}</p>\".format(font=fontname)\n",
|
|
"\n",
|
|
"code = \"\\n\".join([make_html(font) for font in sorted(set([f.name for f in matplotlib.font_manager.fontManager.ttflist]))])\n",
|
|
"\n",
|
|
"HTML(\"<div style='column-count: 2;'>{}</div>\".format(code))\n"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": 11,
|
|
"metadata": {},
|
|
"outputs": [
|
|
{
|
|
"name": "stderr",
|
|
"output_type": "stream",
|
|
"text": [
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n",
|
|
"findfont: Font family 'xkcd' not found.\n",
|
|
"findfont: Font family 'xkcd Script' not found.\n",
|
|
"findfont: Font family 'Humor Sans' not found.\n",
|
|
"findfont: Font family 'Comic Neue' not found.\n"
|
|
]
|
|
},
|
|
{
|
|
"data": {
|
|
"image/png": "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c889Z77v169f5IIRiZA924Db7fYIRSISOZ3le6BnVdIqtbW1Ie87U1tbkbai74GIvgci0Hm+B0r8pVX27LzXER9niYSbvgci+h6IQOf5Hijxl1ZxuVwh7405BEQOJ/oeiOh7IAKd53ugxF9aZc+2bAcaN1YkGul7IKLvgQh0nu+BEn9plT1nfk1KSopQJCKRo++BiL4HItB5vgdK/KXVgoc666ht2UTCTd8DEX0PRKBzfA80gZccEmPSI7/f32FPcpFw0/dARN8DEej43wMl/iIiIiIihwE19REREREROQwo8RcREREROQwo8RcREREROQwo8ZdD4vP5eOGFFxg/fjyzZ8+OdDgi7a6kpIRXXnmFv//978yZM4dNmzZFOiSRdtXY2Mi3337Lhx9+yIoVK6itrY10SCIRV1RUxA033MDo0aN58MEH6ShdatW5V1qtrq6Oyy67jFdffRWAYcOG8dlnn0U4KpH2sWLFCu644w6WLFmy1wX96KOP5uabb+ayyy7DYrFEKEKR8Nq1axePPfYY//jHPygqKjKXx8fHc8IJJ3DBBRdwxRVXdMiRTUTCadeuXQwfPpwdO3aYy9asWcOgQYMiGFWAavylVQoLCxk7dqyZ9ANkZWVFMCKR9uH1ern77rsZM2YMixcvbrYW55tvvuHyyy9nypQp+Hy+CEQpEl7z5s2jT58+PPjggyFJP0BDQwMLFy7k2muvZdy4cVRWVkYmSJEI8Pv9XHHFFSFJPwQqSzsCJf5y0D755BOOO+44Vq1aFbI8IyMjQhGJtI+6ujrOP/98HnjgATOht9vtTJ48mdtuu40LLriA+Ph4c/u5c+fy4osvRipckbD49NNPufjii0MSmQEDBnDeeedx6qmnkpqaai5ftmwZt956ayTCFImIZ555hnfffTfSYeyTEn85KBs3bmTixImUlZXttc7j8UQgIpH2c+WVVzJ//nzz/S9/+Uu2bdvGSy+9xEMPPcS8efPYtGkTo0aNMre54447VOsvUaW6uto8p48++mg+/vhjvvnmG1599VXeeecdSktLmTt3LjabDYA5c+awa9euSIYs0i42bdrETTfdBIDFYiE3NzfCEe1Nib8clC+//NKs5enWrRvTp08319XU1EQqLJF2YTzlSkhIYPbs2Tz77LN7PenKz8/npZdeMt8XFhbu1RRCpDObMGECc+bM4YknnuCLL77ghBNOCFlvtVq59NJLufnmm4FA059XXnklEqGKtBuv18vUqVPNzu033HAD/fv3j3BUe1OPGzkokyZN4t5778Xn8/Gb3/yG999/31zX0NAQwchEwm/BggW89NJLTJo0iYEDB+5zu8zMzJD36two0cRisTBlypQDbjdx4kTuv/9+ABV+Jeo98sgjLF26FAhUjN5///2cddZZEY5qb7obyUGJjY3lnnvuMd/X19ebrxMTEyMRkki76du3L7/73e8OuN0HH3xgvrbb7er/Ioel7777znytwR8kmq1du5a77rrLfP/kk0/icDgiGNG+qamPHJKKigrztd1uj2AkIh2D3+/niSeeMN+fcMIJxMbGRjAikfb31VdfMWPGDCDwhGDs2LERjkgkPBoaGpgyZYrZ6uGiiy7i9NNPj3BU+6YafzkkwZ18s7OzIxiJSOT5/X7uv/9+PvzwQ3PZ1VdfHcGIRNqH1+tlzZo1LFmyhEWLFvHuu++aHYCvueYahg4dGuEIRcLj/vvvZ/Xq1QCkp6fzf//3f5EN6ACU+MshCU78O2LvdZH24nK5mD59Ok8++aS57JRTTuGcc86JXFAiYebz+bj99tuZNWsWVVVVe60/+uij+eMf/xiByETCb+XKlSHn96OPPtrhcyEl/nJIlPiLBNoyX3TRRaxZs8ZcNmzYMF544QXN3CtRbfHixcycObPZdZdddhnPPPOMOrdLVKqvr2fKlCl4vV4Azj77bH7+859HOKoDUxt/OSTBiX+XLl0iGIlI+/P7/cyePZshQ4aEJP2nnXYaCxcuVIdGiXqjR49m6tSpIZN2GebMmcMll1yimXslKt1yyy2sX78eCIzk9vTTT3eKih4l/nJIVOMvh6uysjLOO+88rr76anN0q6SkJJ566ikWLFhASkpKhCMUCb+kpCT++c9/UlFRwZYtW5g5c2bI2OWvvPIK48aNC5nlV6SzmzVrFo8//rj5/oknnug0OZDF7/f7Ix2EdF5HHHEEhYWFAGzZsoXu3btHOCKR8Fu/fj2nnXYamzZtMpeNHTuWf/zjH/Tu3TuCkYlEXmNjI7fffjt/+ctfzGUPP/wwt9xySwSjEmkbX375JcOHD6exsREIjFrVv39/4uPjSUhIID4+3ny9YsUKs4J04sSJdO/enYkTJzJp0qSIPR1Q4i+HJDMzk/LycgDKy8tJT0+PcEQi4bV+/XpGjx5tDmUbHx/PzJkz+fWvf01MjB6iikCgGdz48eNZvHgxEGgStHz58ghHJXLoJk+ezLx58w5pH3feeScPPPBAG0V0cHSXkkMSPIFXUlJSBCMRCT+/388vfvELM+nPycnho48+Ytq0aUr6RYJYLBZuu+028/2KFStwu90RjEikbZx55pmH3KwnLy+vjaI5eKrxl0PicDioqakBAsMZJiQkRDgikfD5+uuvGTRoEBCYxXr58uWMGDEiwlGJdEwNDQ0h94SysjLNYi1Rw+VyUV9fj8fjoaGhAbfbvde/N9xwgznww/3330/fvn3p1q0bo0aNilhTH42xJYckPT3dTPyrqqrIycmJcEQi4fPyyy+br8866ywl/XJYKiwsZN26dZxyyin7fdLl9/uxWCz4/X5iYmKaHflHpLOy2WzYbLb9bhNc0B0/fjyjRo0Kd1gHpGfTckiChyssKSmJYCQi4ffuu++ar6+44ooIRiISGWVlZRxzzDH87Gc/Y/r06fvddu7cuRiNCsaPH09sbGx7hCjSYXTE4T1V4y+HJLgzr9HJVyRaFRUVma+HDRtGfX09u3fvprS0lOrqaqqrq6mvr6ehoQGHw8GQIUM00pVElZqaGnOG3kcffZTjjz+eCy64YK/tvvnmG+68807z/fXXX99uMYp0FEr8pdNzu9089NBDvPnmmzQ0NLB161Zz3TnnnIPVamXw4MG89tprOByOCEYq0vYaGhrM13369DGbue3PWWedxUsvvURiYmI4QxNpF927d+eCCy7glVdeAeDCCy/k/PPP56yzzqKgoACn08kbb7zBiy++iMvlAmDAgAGcfvrpkQxbJCKM70BHos69clBmzZrFNddcc8Dt3njjDc4666x2iEik/RxzzDGsXbv2oH/v5Zdf5sILLwxDRCLtr6amhnHjxrFq1aoDbpuXl8fHH3+s+S3ksDR27FiWLl0KwP/+978O0cZfNf5yUMaMGUPPnj3ZunUrPp+v2W0GDBjAmDFj2jkykfC75557mDZtGrt27cJqtZKXl0deXh52u53ExEQcDgcOhwObzcbmzZtZtGgR+fn5nHTSSZEOXaTNJCcn8/777zN9+nSef/75Zu8FVquVSZMm8eijj9K1a9cIRCkSeeeffz5Lly7FZrORn58f6XAA1fjLIfD7/fj9/r0u+larypMS3dxuN3FxcQccu9/n82GxWDpkO0+RtrB9+3YWLVrE8uXL2b17N8nJyQwcOJCpU6fSpUuXSIcnElF+v5/XX3+dHj16MGTIkEiHAyjxFxERERE5LGg4TxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw4ASfxERERGRw8D/AxQ111JoVcBxAAAAAElFTkSuQmCC",
|
|
"text/plain": [
|
|
"<Figure size 800x600 with 1 Axes>"
|
|
]
|
|
},
|
|
"metadata": {},
|
|
"output_type": "display_data"
|
|
}
|
|
],
|
|
"source": [
|
|
"nvidia_gflops=np.array([3614, 5580, 8611, 11517], dtype=int).astype(int)\n",
|
|
"amd_gflops=np.array([2968, 5740, 8645, 11494], dtype=int).astype(int)\n",
|
|
"n_gpus=np.array([1, 2, 3, 4], dtype=int).astype(int)\n",
|
|
"#plt.plot(n_gpus, nvidia_gflops, '-o', label='NVIDIA A100')\n",
|
|
"#plt.plot(n_gpus, amd_gflops, '-o', label='AMD MI250X')\n",
|
|
"#new_list = range((min(n_gpus)), (max(n_gpus)+1))\n",
|
|
"#plt.xticks(new_list)\n",
|
|
"#plt.xticks()\n",
|
|
"#plt.legend(loc='best')\n",
|
|
"#plt.xlabel('Number of GPUs')\n",
|
|
"#plt.ylabel('Performance in GFLOPs')\n",
|
|
"#plt.savefig(\"PerformanceNVIDIA-AMD.pdf\")\n",
|
|
"#plt.xkcd()\n",
|
|
"with plt.xkcd():\n",
|
|
" # Based on \"The Data So Far\" from XKCD by Randall Munroe\n",
|
|
" # https://xkcd.com/373/\n",
|
|
"\n",
|
|
" fig = plt.figure()\n",
|
|
" ax = fig.add_axes((0.1, 0.2, 0.8, 0.7))\n",
|
|
" ax.spines[['top', 'right']].set_visible(False)\n",
|
|
" ax.plot(n_gpus, nvidia_gflops, '-o', label='NVIDIA A100')\n",
|
|
" ax.plot(n_gpus, amd_gflops, '-o', label='AMD MI250X')\n",
|
|
" ax.legend(loc='best')\n",
|
|
"plt.show()"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": [
|
|
"amd_comm=np.array([ 257, 302, 524])\n",
|
|
"nvidia_comm=np.array([ 339, 507, 670])\n",
|
|
"comm_gpus=np.array([2, 3, 4], dtype=int).astype(int)\n",
|
|
"plt.plot(comm_gpus, nvidia_comm, '-o', label='NVIDIA A100')\n",
|
|
"plt.plot(comm_gpus, amd_comm, '-o', label='AMD MI250X')\n",
|
|
"new_list = range((min(comm_gpus)), (max(comm_gpus)+1))\n",
|
|
"plt.xticks(new_list)\n",
|
|
"plt.xticks()\n",
|
|
"plt.xlabel('Number of GPUs')\n",
|
|
"plt.legend(loc='best')\n",
|
|
"plt.ylabel('Bandwidth GB/s')\n",
|
|
"plt.savefig(\"BandwidthNVIDIA-AMD.pdf\")"
|
|
]
|
|
},
|
|
{
|
|
"cell_type": "code",
|
|
"execution_count": null,
|
|
"metadata": {},
|
|
"outputs": [],
|
|
"source": []
|
|
}
|
|
],
|
|
"metadata": {
|
|
"kernelspec": {
|
|
"display_name": "Python 3",
|
|
"language": "python",
|
|
"name": "python3"
|
|
},
|
|
"language_info": {
|
|
"codemirror_mode": {
|
|
"name": "ipython",
|
|
"version": 3
|
|
},
|
|
"file_extension": ".py",
|
|
"mimetype": "text/x-python",
|
|
"name": "python",
|
|
"nbconvert_exporter": "python",
|
|
"pygments_lexer": "ipython3",
|
|
"version": "3.11.2"
|
|
},
|
|
"orig_nbformat": 4
|
|
},
|
|
"nbformat": 4,
|
|
"nbformat_minor": 2
|
|
}
|