{ "info": { "author": "Samsung Electronics Co.,Ltd.", "author_email": "a.kazantsev@samsung.com", "bugtrack_url": null, "classifiers": [ "Development Status :: 4 - Beta", "Environment :: Console", "Intended Audience :: Developers", "License :: OSI Approved :: BSD License", "Operating System :: POSIX", "Programming Language :: Python :: 2.7", "Programming Language :: Python :: 3.2", "Programming Language :: Python :: 3.3", "Programming Language :: Python :: 3.4", "Programming Language :: Python :: 3.5", "Programming Language :: Python :: 3.6", "Topic :: Software Development :: Libraries" ], "description": "cuda4py\n=========\n\nPython cffi CUDA bindings and helper classes.\n\nTested with Python 2.7, Python 3.6 and PyPy on Linux with CUDA 8.0.\n\nTo compile kernel code written in C++, nvcc should be in PATH and\nexported functions should be marked as extern \"C\"\n(for Windows, cl.exe should be in PATH also).\nFunctions in plain PTX can be used without nvcc.\n\nTo use CUBLAS, libcublas.so (cublas64_65.dll) should be present.\nTo use CUDNN, libcudnn.so (cudnn64_65.dll) should be present.\nTo use CUFFT, libcufft.so (cufft64_65.dll) should be present.\nTo use CURAND, libcurand.so (curand64_65.dll) should be present.\n\nNot all CUDA api is currently covered.\n\nTo install the module run:\n```bash\npython setup.py install\n```\nor just copy src/cuda4py to any place where python\ninterpreter will be able to find it.\n\nTo run the tests, execute:\n\nfor Python 2.7:\n```bash\nPYTHONPATH=src nosetests -w tests\n```\n\nfor Python 3.4:\n```bash\nPYTHONPATH=src nosetests3 -w tests\n```\n\nfor PyPy:\n```bash\nPYTHONPATH=src pypy -m nose -w tests\n```\n\nExample usage:\n\n```python\nimport cuda4py as cu\nimport logging\nimport numpy\n\n\nif __name__ == \"__main__\":\n logging.basicConfig(level=logging.DEBUG)\n ctx = cu.Devices().create_some_context()\n module = cu.Module(\n ctx, source=\n \"\"\"\n extern \"C\"\n __global__ void test(const float *a, const float *b,\n float *c, const float k) {\n size_t i = blockDim.x * blockIdx.x + threadIdx.x;\n c[i] = (a[i] + b[i]) * k;\n }\n \"\"\")\n test = cu.Function(module, \"test\")\n a = numpy.arange(1000000, dtype=numpy.float32)\n b = numpy.arange(1000000, dtype=numpy.float32)\n c = numpy.empty(1000000, dtype=numpy.float32)\n k = numpy.array([0.5], dtype=numpy.float32)\n a_buf = cu.MemAlloc(ctx, a)\n b_buf = cu.MemAlloc(ctx, b)\n c_buf = cu.MemAlloc(ctx, c)\n test.set_args(a_buf, b_buf, c_buf, k)\n test((a.size, 1, 1))\n c_buf.to_host(c)\n max_diff = numpy.fabs(c - (a + b) * k[0]).max()\n logging.info(\"max_diff = %.6f\", max_diff)\n```\n\nReleased under Simplified BSD License.\nCopyright (c) 2014, Samsung Electronics Co.,Ltd.\n", "description_content_type": null, "docs_url": null, "download_url": "https://github.com/ajkxyz/cuda4py", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/ajkxyz/cuda4py", "keywords": "CUDA,cuBLAS,cuDNN,cuFFT,cuRAND,cuda4py", "license": "Simplified BSD", "maintainer": null, "maintainer_email": null, "name": "cuda4py", "package_url": "https://pypi.org/project/cuda4py/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/cuda4py/", "project_urls": { "Download": "https://github.com/ajkxyz/cuda4py", "Homepage": "https://github.com/ajkxyz/cuda4py" }, "release_url": "https://pypi.org/project/cuda4py/1.4.4/", "requires_dist": null, "requires_python": null, "summary": "CUDA cffi bindings and helper classes", "version": "1.4.4" }, "last_serial": 2715632, "releases": { "1.0.11": [ { "comment_text": "", "digests": { "md5": "845e612ec18ef05c975da88cc151bdb0", "sha256": "11c44fdef85c7857dde54d10cec5cd1f0d7a9a0b5a8a9166560adc5f5b5cfb49" }, "downloads": -1, "filename": "cuda4py-1.0.11.tar.gz", "has_sig": false, "md5_digest": "845e612ec18ef05c975da88cc151bdb0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 23489, "upload_time": "2015-03-19T13:32:00", "url": "https://files.pythonhosted.org/packages/2e/62/1a15a55a239b0c3d67eea166352648289b08759591aacb953c0444d97165/cuda4py-1.0.11.tar.gz" } ], "1.0.7": [ { "comment_text": "", "digests": { "md5": "3bba772ecf4e3728b1d18832a7d75a25", "sha256": "95483fcc754fb5451088347eb21c33f871ab3e9a4ceb1fb17032a3b23b41abc1" }, "downloads": -1, "filename": "cuda4py-1.0.7.tar.gz", "has_sig": false, "md5_digest": "3bba772ecf4e3728b1d18832a7d75a25", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19480, "upload_time": "2014-12-24T08:53:18", "url": "https://files.pythonhosted.org/packages/16/8f/c9b5914d9fb7899ca36c3f826afedc643d169bf330fc79361a02b1628ca4/cuda4py-1.0.7.tar.gz" } ], "1.0.8": [ { "comment_text": "", "digests": { "md5": "a95ae97c61c979c41fb5c286e3f288bf", "sha256": "3c7a06fe924df1ddcfc98dc4f43ef3e42cb367a9903ae9672b8a31a3cd6bd423" }, "downloads": -1, "filename": "cuda4py-1.0.8.tar.gz", "has_sig": false, "md5_digest": "a95ae97c61c979c41fb5c286e3f288bf", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20635, "upload_time": "2015-01-21T08:37:22", "url": "https://files.pythonhosted.org/packages/98/2e/2c79606953a871b8aefd25c47f593d8d25974fecda404572849353e62aad/cuda4py-1.0.8.tar.gz" } ], "1.0.9": [ { "comment_text": "", "digests": { "md5": "14ffa0f57206f597e4c666bd2398fe21", "sha256": "1596002288fbd61c2a566496a2676d08ad2d03b0640c8daeaeca777de44fcfe4" }, "downloads": -1, "filename": "cuda4py-1.0.9.tar.gz", "has_sig": false, "md5_digest": "14ffa0f57206f597e4c666bd2398fe21", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 21911, "upload_time": "2015-01-26T12:29:00", "url": "https://files.pythonhosted.org/packages/f5/f3/410ba90fee6a7eba84ee23947c5389acccdb780d59851a4763674480d4d0/cuda4py-1.0.9.tar.gz" } ], "1.1.1": [ { "comment_text": "", "digests": { "md5": "b935c0650b135452f0063f57c73a46d1", "sha256": "a4d73c0055d689fb7adba0fcdaefcefd95f2611c9405379fc972d4704e393583" }, "downloads": -1, "filename": "cuda4py-1.1.1.tar.gz", "has_sig": false, "md5_digest": "b935c0650b135452f0063f57c73a46d1", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24263, "upload_time": "2015-03-23T08:57:58", "url": "https://files.pythonhosted.org/packages/fc/67/306bbcd34f7f78012eb31d518b77f57bf30607ef2e8beb487acfa2240eee/cuda4py-1.1.1.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "00763edd6904a5ad83127aa5cd6cae98", "sha256": "1f2f994c9967d143850bf3039bc1111052876caeca7458f9273bbc8ae1fa501e" }, "downloads": -1, "filename": "cuda4py-1.2.1.tar.gz", "has_sig": false, "md5_digest": "00763edd6904a5ad83127aa5cd6cae98", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28690, "upload_time": "2015-05-22T17:38:30", "url": "https://files.pythonhosted.org/packages/f3/16/08c98343b547f4c188346feb9cd280df0a7789925bb62b27e542569e87bc/cuda4py-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "166ba8a47a38266c1f91db276dcdf6a4", "sha256": "1cc0342f4b0c4add3c42be5f115300e0713232221dd32ce5447dc3ac885e479b" }, "downloads": -1, "filename": "cuda4py-1.2.2.tar.gz", "has_sig": false, "md5_digest": "166ba8a47a38266c1f91db276dcdf6a4", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 28954, "upload_time": "2015-05-26T17:08:41", "url": "https://files.pythonhosted.org/packages/19/88/fe8861311d594f8477d054d849f9f6c8c7851dfcc7921a9859ec0452919b/cuda4py-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "d715bab0c16609e2085f6b90567881f9", "sha256": "1b51c25d3a799475a37ea51dbf4a575949d37bd20ee9a9e03f26fad73c03d770" }, "downloads": -1, "filename": "cuda4py-1.2.3.tar.gz", "has_sig": false, "md5_digest": "d715bab0c16609e2085f6b90567881f9", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 29457, "upload_time": "2015-08-24T11:01:09", "url": "https://files.pythonhosted.org/packages/73/b3/d55e3262bbd8962d0d0ac170b75a26d5e133ab4fbf35882d7994aed9868f/cuda4py-1.2.3.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "bfe7c6ce3fe2e61be5eeb27fd1915696", "sha256": "d41df7ac67ac6f358e00b55a0511b95717dbeed2ee4f2e522e702b92d38cba75" }, "downloads": -1, "filename": "cuda4py-1.3.0.tar.gz", "has_sig": false, "md5_digest": "bfe7c6ce3fe2e61be5eeb27fd1915696", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33181, "upload_time": "2015-11-27T12:34:24", "url": "https://files.pythonhosted.org/packages/27/18/de256eda43864ea967b19fd819e49d9c40b1e5a657a7e1537dd61e33de38/cuda4py-1.3.0.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "42c051948e2ade00252046f9d13bda62", "sha256": "eea0dbdfddb34012953c9566d6c950728992075581a59a909bd29feaac03fe91" }, "downloads": -1, "filename": "cuda4py-1.3.2.tar.gz", "has_sig": false, "md5_digest": "42c051948e2ade00252046f9d13bda62", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 37626, "upload_time": "2015-12-01T13:13:12", "url": "https://files.pythonhosted.org/packages/ef/ba/40d7789d8abac7dc4639ad8fb278ee7a3140d27e2c1c838a242e47e6b0f8/cuda4py-1.3.2.tar.gz" } ], "1.3.3": [ { "comment_text": "", "digests": { "md5": "a7860130dfdc536d9471723b94bba024", "sha256": "2270613915601dcfa071006ddfa05707a05fce561095d39c98d40551de7ebb81" }, "downloads": -1, "filename": "cuda4py-1.3.3.tar.gz", "has_sig": false, "md5_digest": "a7860130dfdc536d9471723b94bba024", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 33499, "upload_time": "2015-12-20T16:32:30", "url": "https://files.pythonhosted.org/packages/7e/c7/3567a3c0e6bce02a73cbd061f25902cdf87e4f502fdf5ac769d65e5fab9f/cuda4py-1.3.3.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "49e3925d4c57c5ad9177fb07f28cdd42", "sha256": "5c70d5341602c14653ea6ba44ef81469c8d18c6075c4b0fb3f9c71a684f83082" }, "downloads": -1, "filename": "cuda4py-1.3.4.tar.gz", "has_sig": false, "md5_digest": "49e3925d4c57c5ad9177fb07f28cdd42", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 35479, "upload_time": "2015-12-21T22:48:51", "url": "https://files.pythonhosted.org/packages/03/4a/98eb1b3c798e63599b5e1a8afb5df80ffd6ce9799eafeb4e950590ceaeff/cuda4py-1.3.4.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "07b9238ce1cf0f6ac6855fa6219287c3", "sha256": "3ae08ebe974368d7b1179cfc2fefbe11fd0f265ec279ed77dd8de794bab6ddca" }, "downloads": -1, "filename": "cuda4py-1.3.6.tar.gz", "has_sig": false, "md5_digest": "07b9238ce1cf0f6ac6855fa6219287c3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 44705, "upload_time": "2016-04-16T22:01:43", "url": "https://files.pythonhosted.org/packages/ae/80/b20e6b00e50898c23c6acaf63ea85388ae594cb73d60e4db85dc5eff6955/cuda4py-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "4b07fc2a5f8bd4be3a80f1c10a0d0289", "sha256": "f9e0385125bacbeda866abedafb05dab5d196be79f8e075007710c394fbeca39" }, "downloads": -1, "filename": "cuda4py-1.3.7.tar.gz", "has_sig": false, "md5_digest": "4b07fc2a5f8bd4be3a80f1c10a0d0289", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 46350, "upload_time": "2016-05-13T18:48:25", "url": "https://files.pythonhosted.org/packages/59/b8/58decf56a744710e8ad73be3294d9f09162e0ea068249f7ac270774320e3/cuda4py-1.3.7.tar.gz" } ], "1.3.8": [ { "comment_text": "", "digests": { "md5": "0917d8e9f0beca1b4af12e93caa28c89", "sha256": "ba20a77e13dd3c96f9ae6b3a885bc634e03fd13d9b2b8217b55ffa4fab87afbc" }, "downloads": -1, "filename": "cuda4py-1.3.8.tar.gz", "has_sig": false, "md5_digest": "0917d8e9f0beca1b4af12e93caa28c89", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47568, "upload_time": "2016-05-22T20:59:35", "url": "https://files.pythonhosted.org/packages/a4/3a/66a3f3d043c44cb6f5fca099f0fb4b1c8edb2b421b8c3a71b44ac93d9d01/cuda4py-1.3.8.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "e5db7700d4f42a02011cba6a3603767d", "sha256": "0c2f7dee8b621dac8fc60509f197e0eb2f41488a51b259b971e01153963168f2" }, "downloads": -1, "filename": "cuda4py-1.4.0.tar.gz", "has_sig": false, "md5_digest": "e5db7700d4f42a02011cba6a3603767d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 47271, "upload_time": "2016-05-28T22:41:46", "url": "https://files.pythonhosted.org/packages/c7/87/fc2ddd4152c105ffacffc54eeb49cd5890c396889f9e1203b16429383ef0/cuda4py-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "bf814013f96b2ef968b746be1954cdac", "sha256": "496c2577a9e14b75d4e821cf36e790e1f270f0357402bf03b02b247e65bcbb52" }, "downloads": -1, "filename": "cuda4py-1.4.1.tar.gz", "has_sig": false, "md5_digest": "bf814013f96b2ef968b746be1954cdac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 53669, "upload_time": "2016-11-21T09:45:03", "url": "https://files.pythonhosted.org/packages/8f/07/cbe854e077a3cdbfc836df883422caf569a6e327ab5c4227d29fe80259cd/cuda4py-1.4.1.tar.gz" } ], "1.4.2": [ { "comment_text": "", "digests": { "md5": "ed25866912d8ae8116fcfee791f417ba", "sha256": "51d657283005f37a58dc14e9a9447eafebbb5f06eb9cc096bb1faf216a3eead3" }, "downloads": -1, "filename": "cuda4py-1.4.2.tar.gz", "has_sig": false, "md5_digest": "ed25866912d8ae8116fcfee791f417ba", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55004, "upload_time": "2017-02-13T19:06:47", "url": "https://files.pythonhosted.org/packages/f6/d8/b2c8ab154ca79a28dbc0b14544e52e2dc3ca7cf164c9f34202e767505144/cuda4py-1.4.2.tar.gz" } ], "1.4.3": [ { "comment_text": "", "digests": { "md5": "5ea531458c9a2ea60ae8107f4aec53d7", "sha256": "6234ec7eff9a1bd4b5ddf78eef1c4d56990a6a29db90b3ba5e668229b37c386b" }, "downloads": -1, "filename": "cuda4py-1.4.3.tar.gz", "has_sig": false, "md5_digest": "5ea531458c9a2ea60ae8107f4aec53d7", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 55637, "upload_time": "2017-02-19T13:02:28", "url": "https://files.pythonhosted.org/packages/7c/d8/2e49d7123ac3a6ee94512392b3cd19c115e14e1fd68335bb1ffcc10a41d1/cuda4py-1.4.3.tar.gz" } ], "1.4.4": [ { "comment_text": "", "digests": { "md5": "a1d212162f6e014341745aa88ee73332", "sha256": "7ae776d278349f9bfdf28c495ad0ed62101f9ad25355f8009c922677aabd0c66" }, "downloads": -1, "filename": "cuda4py-1.4.4.tar.gz", "has_sig": false, "md5_digest": "a1d212162f6e014341745aa88ee73332", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58344, "upload_time": "2017-03-19T10:45:09", "url": "https://files.pythonhosted.org/packages/6b/b4/4b9d59fd81a743bf44e698d5306212a8bb8b746e98937fab6b5b7ea92aef/cuda4py-1.4.4.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "a1d212162f6e014341745aa88ee73332", "sha256": "7ae776d278349f9bfdf28c495ad0ed62101f9ad25355f8009c922677aabd0c66" }, "downloads": -1, "filename": "cuda4py-1.4.4.tar.gz", "has_sig": false, "md5_digest": "a1d212162f6e014341745aa88ee73332", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 58344, "upload_time": "2017-03-19T10:45:09", "url": "https://files.pythonhosted.org/packages/6b/b4/4b9d59fd81a743bf44e698d5306212a8bb8b746e98937fab6b5b7ea92aef/cuda4py-1.4.4.tar.gz" } ] }