Skip to content

Instantly share code, notes, and snippets.

@betatim
Forked from ctb/README.md
Last active April 6, 2017 08:41
Show Gist options
  • Save betatim/24886949ded51b90a3ca066c2a7f0439 to your computer and use it in GitHub Desktop.
Save betatim/24886949ded51b90a3ca066c2a7f0439 to your computer and use it in GitHub Desktop.
benchmarking RAM allocation against file load time
Display the source blob
Display the rendered blob
Raw
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"# Comparing load time with different hash sizes\n",
"\n",
"Q: holding everything else constant, what does increasing `-M` do to load time for k-mers?\n",
"\n",
"A: linear (nearly 1:1) increase in load time with increasing tablesize.\n",
"\n",
"----\n",
"\n",
"To generate the data file `ram-times-taskset-$i.out`, do:\n",
"\n",
"```\n",
"for M in 5e6 1e7 3e7 5e7 7e7 1e8 3e8 5e8 7e8 1e9 1.5e9 2e9 2.5e9 3e9 3.5e9 4e9;\n",
"do\n",
" taskset -a -c0 python load-bench.py data/100k-filtered.fa -M $M\n",
"done > ram-times-taskset-0.out\n",
"```\n",
"(loop over CPU affinity yourself)"
]
},
{
"cell_type": "code",
"execution_count": 1,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": [
"import numpy\n",
"%matplotlib inline\n",
"import pylab"
]
},
{
"cell_type": "code",
"execution_count": 2,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"fit is: [ 1.84533894e-10 6.00693969e-01]\n",
"slope is 0.60\n"
]
}
],
"source": [
"# load and do a linear fit\n",
"x = numpy.loadtxt('ram-times.out')\n",
"z = numpy.polyfit(x[:,0], x[:,1], 1)\n",
"fit = numpy.poly1d(z)\n",
"print('fit is: {}'.format(z))\n",
"print('slope is {:.2f}'.format(z[1]))"
]
},
{
"cell_type": "code",
"execution_count": 3,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f9f03c05b00>"
]
},
"execution_count": 3,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9f05ee6dd8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"for i in (0,1,2,3):\n",
" x = numpy.loadtxt('ram-times-taskset-%i.out' % i)\n",
" pylab.plot(x[:,0], x[:,1], '.-', label='data CPU=%i' % i)\n",
"\n",
"pylab.plot(x[:,0], fit(x[:,0]), 'r--', label='fit')\n",
"pylab.xlabel('sum RAM')\n",
"pylab.ylabel('load time (s)')\n",
"pylab.title('load time data + fit, out to 4 GB')\n",
"pylab.legend(loc='best')"
]
},
{
"cell_type": "code",
"execution_count": 7,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f9f0394cb38>"
]
},
"execution_count": 7,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\nnoCTToJDD4Xp0+HAA1MdUVHeJOQi+u6772jfvj3169enX79+bNiwgb59+1K/fv0i2w0bNoyDDjqI\njh07ss022zB27Fi6d++OqnLNNdcA8Mgjj/B///d/7LDDDtx5552oKg0aNABg/vz5vP3225x77rns\ns88+5ObmMnz4cNq0acPs2bPZbbfdkn7tzjlXlaxfD9dfD8OH28+BA2GbipgdqKrfwm5AS0BzcnI0\nkpycHC3t/lB//KHaurVqkyb2Mze3zF2ilshjn3nmmVqrVi1dvHjx5rK5c+fqNttsoxkZGZvL1q5d\nW2zfU045RZs2bVqk7KCDDtITTjih2Lbr168vVvbLL79ojRo1tH///qXGWJ7nwTnnXHFLl6oed5xq\n9eqqTz8dn2MWvjcDLTWOn80VMYeqVDp1gsmT7ff58+Hkk+GZZ+Jz7K5dYdasLcc++2wbdra1Nm3a\nxIcffsiZZ57JHnvssbl8v/32o3379rz//vuby7bbbrvNv//9999s2LCB448/nvHjx7Nq1Sp22GGH\nUs9VvXr1IudduXIltWrVYr/99mPGjLitSu6ccy7MrFnWuXbNGvj4Y2jdOtURlc4TlgRbsqTo37Nm\nJWbZ7UjnitWyZcvIz8+nWbNmxe7bb7/9iiQskydPpk+fPkybNo38/PzN5SJCXl5emQmLqjJkyBCe\neOIJFixYQEFBweb969WrF58Lcs45V8Srr0KXLrD//vDmm9C4caojKpsnLAnWsKHVfhQ69NDE1LAU\nnise1JrFIs63UngfwLx58zjxxBNp0aIFgwcPpnHjxmy77ba8++67DBkyhE2bNpV5rvvuu4+7776b\nyy+/nP79+7PzzjuTkZFBjx49otrfOedc9DZtsrlV+vWDCy6Ap59O/fwq0fKEJcFef92aapYssYTi\n9dchrN9qzMaPL37seKhfvz41a9bkxx9/LHbfDz/8sPn3sWPHsn79esaOHVuk6WjixInF9itpsrnX\nXnuNtm3b8uSTTxYpX7lyJbvuumusl+Cccy7MP//AJZdYjcr998Ott0IM84CmjCcsCVa/fnz6lSTz\n2BkZGbRv354333yTxYsX06hRIwDmzJnD+PHjN2+3TdCNPLQmJC8vj5EjRxY7Zu3atVm5cmWx8mrV\nqhWptQEYM2YMv/32W8QmKeecc+W3YIH1V1m40CaD+89/Uh1R+XnC4iK65557GDduHMceeyzdu3dn\n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\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9f2c143ef0>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"x_20kmers = numpy.loadtxt('ram-times-20-kmers.out')\n",
"\n",
"z_20kmers = numpy.polyfit(x_20kmers[:,0], x_20kmers[:,1], 1)\n",
"fit = numpy.poly1d(z_20kmers)\n",
"\n",
"pylab.plot(x_20kmers[:,0], x_20kmers[:,1], '.-', label='data')\n",
"pylab.plot(x_20kmers[:,0], fit(x_20kmers[:,0]), 'r--', label='fit')\n",
"\n",
"pylab.xlabel('sum RAM')\n",
"pylab.ylabel('load time (s)')\n",
"pylab.title('load time data + fit (20 kmers), out to 4 GB')\n",
"pylab.legend(loc='best')"
]
},
{
"cell_type": "code",
"execution_count": 10,
"metadata": {
"collapsed": false
},
"outputs": [
{
"name": "stdout",
"output_type": "stream",
"text": [
"[[ 4.99980200e+06 3.91528130e-01]\n",
" [ 9.99993600e+06 4.95810986e-01]\n",
" [ 2.99997760e+07 5.26664734e-01]\n",
" [ 4.99998140e+07 5.20224333e-01]\n",
" [ 6.99999440e+07 5.44998884e-01]\n",
" [ 9.99998940e+07 5.23861885e-01]\n",
" [ 2.99999702e+08 5.15384436e-01]\n",
" [ 4.99999864e+08 5.29583216e-01]\n",
" [ 6.99999898e+08 5.21110058e-01]\n",
" [ 9.99999738e+08 5.18475771e-01]\n",
" [ 1.24999982e+09 5.34451008e-01]\n",
" [ 1.49999985e+09 5.18098831e-01]\n",
" [ 1.74999976e+09 5.29088736e-01]\n",
" [ 1.99999973e+09 5.50852299e-01]\n",
" [ 2.24999989e+09 5.75498343e-01]\n",
" [ 2.49999983e+09 5.88323116e-01]\n",
" [ 2.74999975e+09 6.20884895e-01]\n",
" [ 2.99999981e+09 6.32250547e-01]\n",
" [ 3.24999992e+09 6.81697845e-01]\n",
" [ 3.49999982e+09 6.80423021e-01]\n",
" [ 3.74999989e+09 7.15091467e-01]\n",
" [ 3.99999964e+09 7.11252451e-01]]\n"
]
}
],
"source": [
"x = numpy.loadtxt('ram-times-100k-kmers.out')\n",
"\n",
"x_delta = x\n",
"x_delta[:,1] = x[:,1] - x_20kmers[:,1]\n",
"print(x_delta)"
]
},
{
"cell_type": "code",
"execution_count": 13,
"metadata": {
"collapsed": false
},
"outputs": [
{
"data": {
"text/plain": [
"<matplotlib.legend.Legend at 0x7f9f036d3ba8>"
]
},
"execution_count": 13,
"metadata": {},
"output_type": "execute_result"
},
{
"data": {
"image/png": "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\n/aZ6xx2qe+9t+9u1q+r48arbt5fN9nNyVP+/vTsPk6uq8z/+/oQlCGHHJMgiiz8gShJIFIkgqyzB\nn1EIW1BBwQWBAeMMuDE44sIgAsoIDiPDEoFGlIAsssgqyKbdbErCmohASNIhNEsiCcl3/ji37epK\ndXVVpbrrVvfn9Tz1pPvec0+fk9vV91tnveiiiNGj08/ffvv0/aJFff+zly+PePLJiLPOithjj4hV\nV01l+MAHIk45JeKeeyKWLu1+zdy56fd+q63y9ftvZo3T2toapJm/46Kez+Z6ZtbMr8IgZdy4FYOU\n557ruhm77NL93OjR/fdAK2XZsojrr4/YeedUnjFjIlpaVny4VGv58hSQnXFGxO67dz3Attkm4sQT\nI26+uYIH6eLFEdde2z3Ky4HlyyP+8IeIQw6JWGWViGHDIk44IWLmzMaW6Y47UkAoRWy4YQqeXnqp\nvj9n8eJ07044IQUaELHGGhEHHBBx/vkRs2bV9+eZ2cCXmyAF2BQYVuL4asBu9Sxcf74Kg5Rrr03/\nM6uv3hWIvP12183o/MNe+Fp//YhDD4245JKIl1+u9LaunKVLIy6/PH3yhohdd4246aa+a5R47bWI\n6dMjvvSliM0263q47bdfxLnnRtx3XwrgttlySfzrqJti0aFHRqyzTkr45S/3TaGq1NlqMXZsV8B1\n3nkRHR2NLll3zzyTAsFhw1JweMQREQ89VHt+f/97alWbNClizTVT3TffPOIrX4m48caIt96qX9nN\nbPDpqyBFEZV1gEvaGPgtMD4ryJXAcRHxZnZ+BPByRDTl+pKSxgGtra2tPP30OKZMSX3zhxySBknu\nvHPXMue77tp91dkxY9JgyltuSTNmItL28xMnpjU0PvKR+u6a/I9/pDGlZ52VBvVOnAjf/Gb/Lj0e\nATNmpDrfcgvcd/c7TFh6D4fxKyZzDRvyKk+vsh3P7HgYT+1wGEu2HsW669Lja+210zo0feVvf0uT\nhi66CBYuhAMOSIuO7bNP3/7cldXRke71eeelez1hAnz1q2n6eLklYZYtS2ONbropvR57LP0ef+Qj\n8PGPp9cHPuAZOWZWH21tbYxPi0WNj4i2euVbTZByGbAtaXDsesB/koKVfSNiYRakzImIHP/J71lh\nkHLPPeM49dS0rkVhMLLLLmlq6bx56SExZ86Ke7S0t8Ntt3U9vOfPTw/gj30sBSz7759mjNTi9dfT\n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\nD1dWNybgUogrAAAAAElFTkSuQmCC\n",
"text/plain": [
"<matplotlib.figure.Figure at 0x7f9f037ae0b8>"
]
},
"metadata": {},
"output_type": "display_data"
}
],
"source": [
"z_delta = numpy.polyfit(x_delta[:,0], x_delta[:,1], 1)\n",
"fit = numpy.poly1d(z_delta)\n",
"\n",
"pylab.plot(x_delta[:,0], x_delta[:,1], '.-', label='data')\n",
"pylab.plot(x_delta[:,0], fit(x_delta[:,0]), 'r--', label='fit')\n",
"\n",
"pylab.xlabel('sum RAM')\n",
"pylab.ylabel('100k time - 20kmer baseline (s)')\n",
"pylab.title('subtract 20kmer file baseline from total time, out to 4 GB')\n",
"pylab.legend(loc='best')"
]
},
{
"cell_type": "code",
"execution_count": null,
"metadata": {
"collapsed": true
},
"outputs": [],
"source": []
}
],
"metadata": {
"anaconda-cloud": {},
"kernelspec": {
"display_name": "Python [default]",
"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.5.2"
}
},
"nbformat": 4,
"nbformat_minor": 0
}
#! /usr/bin/env python
from __future__ import print_function, unicode_literals
import json
import os
import sys
import threading
import textwrap
import khmer
from khmer import khmer_args
from khmer.khmer_args import (build_counting_args, report_on_config, info,
add_threading_args, calculate_graphsize,
sanitize_help)
from khmer.kfile import check_file_writable
from khmer.kfile import check_input_files
from khmer.kfile import check_space_for_graph
from khmer.khmer_logger import (configure_logging, log_info, log_error,
log_warn)
import time
def get_parser():
parser = build_counting_args("Build a k-mer countgraph from the given"
" sequences.",
citations=['counting', 'SeqAn'])
add_threading_args(parser)
parser.add_argument('input_sequence_filename', nargs='+',
help="The names of one or more FAST[AQ] input "
"sequence files.")
parser.add_argument('-b', '--no-bigcount', dest='bigcount', default=True,
action='store_false', help="The default behaviour is "
"to count past 255 using bigcount. This flag turns "
"bigcount off, limiting counts to 255.")
parser.add_argument('--summary-info', '-s', type=str, default=None,
metavar="FORMAT", choices=[str('json'), str('tsv')],
help="What format should the machine readable run "
"summary be in? (`json` or `tsv`, disabled by"
" default)")
parser.add_argument('-f', '--force', default=False, action='store_true',
help='Overwrite output file if it exists')
parser.add_argument('-q', '--quiet', dest='quiet', default=False,
action='store_true')
return parser
def main():
args = sanitize_help(get_parser()).parse_args()
configure_logging(args.quiet)
report_on_config(args)
filenames = args.input_sequence_filename
log_info('making countgraph')
start = time.time()
countgraph = khmer_args.create_countgraph(args)
countgraph.set_use_bigcount(False)
filename = None
total_num_reads = 0
for index, filename in enumerate(filenames):
log_info('consuming input {input}', input=filename)
rparser = khmer.ReadParser(filename)
countgraph.consume_seqfile_with_reads_parser(rparser)
total_num_reads += rparser.num_reads
log_info('DONE.')
end = time.time()
print(sum(countgraph.hashsizes()), end - start)
if __name__ == '__main__':
main()
# vim: set filetype=python tabstop=4 softtabstop=4 shiftwidth=4 expandtab:
# vim: set textwidth=79:
4999802 0.4022336006164551
9999936 0.48936963081359863
29999776 0.5291144847869873
49999814 0.5460047721862793
69999944 0.539546012878418
99999894 0.53822922706604
299999702 0.5722751617431641
499999864 0.5797789096832275
699999898 0.5983734130859375
999999738 0.6348459720611572
1499999852 0.6900534629821777
1999999730 0.8068392276763916
2499999828 0.9725027084350586
2999999808 1.1501619815826416
3499999818 1.3291537761688232
3999999642 1.4660162925720215
4999802 0.3771378993988037
9999936 0.49471521377563477
29999776 0.525113582611084
49999814 0.5299384593963623
69999944 0.5365993976593018
99999894 0.5531153678894043
299999702 0.5583016872406006
499999864 0.5734982490539551
699999898 0.5956308841705322
999999738 0.629561185836792
1499999852 0.6850724220275879
1999999730 0.8040111064910889
2499999828 0.9678001403808594
2999999808 1.1466901302337646
3499999818 1.322319746017456
3999999642 1.4637532234191895
4999802 0.0018587112426757812
9999936 0.0028929710388183594
29999776 0.00555109977722168
49999814 0.007618427276611328
69999944 0.009627342224121094
99999894 0.0139312744140625
299999702 0.04141545295715332
499999864 0.0646371841430664
699999898 0.08468151092529297
999999738 0.11422371864318848
1499999852 0.16438937187194824
1999999730 0.27019166946411133
2499999828 0.40791988372802734
2999999808 0.5306522846221924
3499999818 0.6612265110015869
3999999642 0.7718324661254883
4999802 0.37587928771972656
9999936 0.49825572967529297
29999776 0.5420515537261963
49999814 0.5313012599945068
69999944 0.5375802516937256
99999894 0.5366525650024414
299999702 0.5557835102081299
499999864 0.5917420387268066
699999898 0.5949039459228516
999999738 0.6410195827484131
1499999852 0.6821684837341309
1999999730 0.8242173194885254
2499999828 0.9777994155883789
2999999808 1.1413724422454834
3499999818 1.3187227249145508
3999999642 1.4773304462432861
4999802 0.3691437244415283
9999936 0.5023326873779297
29999776 0.5218846797943115
49999814 0.5303599834442139
69999944 0.5355379581451416
99999894 0.5363118648529053
299999702 0.5636279582977295
499999864 0.5696682929992676
699999898 0.598691463470459
999999738 0.6327526569366455
1499999852 0.6800453662872314
1999999730 0.7989273071289062
2499999828 0.9779486656188965
2999999808 1.1559679508209229
3499999818 1.3215265274047852
3999999642 1.4892635345458984
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment