{
"metadata": {
"name": "",
"signature": "sha256:01fde4d9e0b1aaa9618990e036c904c135356ccff95f2638dc70a22fb35c6ff8"
},
"nbformat": 3,
"nbformat_minor": 0,
"worksheets": [
{
"cells": [
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## FPGAs, hardware\n",
"\n",
"- Moore's law still applies for single-core FPGAs.\n",
" - Millions of floating point operations per second (MFLOPS): 10 years ago 1, 5 years ago 5, 2 years ago 50, now 5000.\n",
"- Don't consider wiring diagrams any more - FPGAs change so fast that tailoring a design to one particular FGPA is a waste of time.\n",
"- Don't code in VHDL at all, even behavioural. Too low level.\n",
"- Compilers are now capable of compiling C down to FPGAs, but used to make sub-optimal decisions.\n",
" - FPGAs come with multiple floating point chips, multiple DSPs, and compiler not only needs to transform C but to schedule instructions on multiple chips, taking pipelines into account.\n",
"- FPGAs just recently support 10 GbE.\n",
"- Many tricks involved in making floating point operations faster\n",
" - Align mantissa and exponents\n",
" - Add small numbers first building up to large. Because adding large first means precision is impossible to maintain.\n",
" "
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"## Latent Dirichlet Allocation (LDA)\n",
"\n",
"- Generative model of topics within a body of text.\n",
"- Supervised.\n",
"- Topics are random variables generating tokens.\n",
"- Refer to NLP notes for refresher on generative models."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##\u00a0Clustering\n",
"\n",
"- Markov Cluster Algorithm, [http://micans.org/mcl/](http://micans.org/mcl/)\n",
" - Unsupervised, very fast, binary blob available."
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##\u00a0Don't Use This Code\n",
"\n",
"- Lots of fun and insane hacks: [http://seriously.dontusethiscode.com/](http://seriously.dontusethiscode.com/)"
]
},
{
"cell_type": "markdown",
"metadata": {},
"source": [
"##\u00a0IPython 2 Widgets\n",
"\n",
"- Incredible! Coming out April 2014.\n",
"\n",
"## General notes\n",
"\n",
"- Many are PhDs, many are hard core into e.g. MATLAB\n",
"- Want to emphasise how awesome Python is.\n",
"- Almost everyone prefers to use IPython Notebook, it's common knowledge.\n",
" - For internal presentation, analyses, keeping notes and following presentations.\n",
"- Cython has tremendous amount of mindshare, particular with NumPy. Almost standard.\n",
"- Interesting that there are contrasting talks\n",
" - \"Databases for Scientists\" and \"Scaling SQL\" both contrast to Hive and Pig, wrt MapReduce.\n",
" - \"Getting it out there\" (JavaScript for webviz) contrasts with Bokeh (Python to auto-generate JavaScript) and IPython Notebook.\n"
]
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"def f(x):\n",
" return (x-1) ** 2\n",
"\n",
"import scipy.optimize\n",
"scipy.optimize.minimize_scalar(f)"
],
"language": "python",
"metadata": {},
"outputs": [
{
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
" fun: 0.0\n",
" nfev: 5\n",
" nit: 4\n",
" x: 1.0"
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"from IPython.core.display import HTML\n",
"def css_styling():\n",
" styles = open(\"styles/custom.css\", \"r\").read()\n",
" return HTML(styles)\n",
"css_styling()"
],
"language": "python",
"metadata": {},
"outputs": [
{
"html": [
"\n",
"\n"
],
"metadata": {},
"output_type": "pyout",
"prompt_number": 3,
"text": [
""
]
}
],
"prompt_number": 3
},
{
"cell_type": "code",
"collapsed": false,
"input": [
"%autosave 10"
],
"language": "python",
"metadata": {},
"outputs": [
{
"javascript": [
"IPython.notebook.set_autosave_interval(10000)"
],
"metadata": {},
"output_type": "display_data"
},
{
"output_type": "stream",
"stream": "stdout",
"text": [
"Autosaving every 10 seconds\n"
]
}
],
"prompt_number": 2
}
],
"metadata": {}
}
]
}