/
pyviennacl-very-easy-gpgpu-linear-algebra-part-1.json
28 lines (28 loc) · 2.9 KB
/
pyviennacl-very-easy-gpgpu-linear-algebra-part-1.json
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
{
"alias": "video/2730/pyviennacl-very-easy-gpgpu-linear-algebra-part-1",
"category": "SciPy 2014",
"copyright_text": "https://www.youtube.com/t/terms",
"description": "ViennaCL provides a BLAS-like interface to a set of OpenCL, CUDA and\nOpenMP compute kernels for linear algebra operations, such as dense and\nsparse matrix products, direct and iterative solvers, preconditioners.\nAt the C++ API level, ViennaCL uses templates to represent a\nmathematical expression graph, for which it then generates an\nappropriate compute kernel.\n\nInterfacing with a C++ templating API from Python, for which users'\nexpressions are expected to be set at compile time, poses a number of\nproblems for the dynamic creation of objects and execution of arbitrary\nexpressions. For the Python interface, we have a scheduler which takes\nan expression tree object constructed in Python (using Boost.Python),\nand then generates and dispatches the relevant kernel, using the\nrelevant data types for the operands. Furthermore, so that users do not\nregularly incur expensive copying of matrices across slow system buses,\nPyViennaCL implements various caching mechanisms. Work is currently in\nprogress to support multiple, heterogeneous and distributed platforms,\nand custom, user-supplied expression nodes, using PyOpenCL and PyCUDA.\n\nTo make these features approachable to users familiar with NumPy and\nSciPy, the PyViennaCL API attempts to be as similar to the NumPy API as\npossible, providing recognisable classes, methods, and attributes, and\ntransparently converting operand and result types where these things are\ndefined.\n\nThis talk will introduce PyViennaCL, covering in more detail the\ncomputational architecture described above, as well as these Python API\nfeatures, and the power of upcoming work to extend the PyViennaCL\nscheduler and API to custom compute operations, by integrating with\nPyOpenCL and PyCUDA. In the process, I will provide some comparative\nbenchmark results, to demonstrate the utility of this new work.\n",
"duration": null,
"id": 2730,
"language": "eng",
"quality_notes": "",
"recorded": "2014-07-09",
"slug": "pyviennacl-very-easy-gpgpu-linear-algebra-part-1",
"speakers": [
"Toby St Clere Smithe"
],
"summary": "PyViennaCL aims to make powerful GPGPU scientific computing really\ntransparently easy, especially for users already using NumPy for\nrepresenting matrices, by harnessing the ViennaCL linear algebra and\nnumerical computation library for GPGPU and heterogeneous systems. In\nthis talk, I will discuss PyViennaCL's mathematical features,\ncomputational architecture, and current developments.\n",
"tags": [
"gpgpu"
],
"thumbnail_url": "https://i1.ytimg.com/vi/Qym3Onh-Z20/hqdefault.jpg",
"title": "PyViennaCL: Very Easy GPGPU Linear Algebra Part 1",
"videos": [
{
"length": 0,
"type": "youtube",
"url": "https://www.youtube.com/watch?v=Qym3Onh-Z20"
}
]
}