{ "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", "Topic :: Software Development :: Libraries" ], "description": "opencl4py\n=========\n\nPython cffi OpenCL bindings and helper classes.\n\nTested with Python 2.7, Python 3.3, Python 3.4 and PyPy on Linux and Windows.\n\nCovered OpenCL API:\n```\nclBuildProgram\nclCreateBuffer\nclCreateCommandQueue\nclCreateCommandQueueWithProperties\nclCreateContext\nclCreateKernel\nclCreatePipe\nclCreateProgramWithSource\nclCreateProgramWithBinary\nclCreateSubBuffer\nclEnqueueCopyBuffer\nclEnqueueCopyBufferRect\nclEnqueueFillBuffer\nclEnqueueMapBuffer\nclEnqueueNDRangeKernel\nclEnqueueReadBuffer\nclEnqueueSVMMap\nclEnqueueSVMMemcpy\nclEnqueueSVMMemFill\nclEnqueueSVMUnmap\nclEnqueueUnmapMemObject\nclEnqueueWriteBuffer\nclFinish\nclFlush\nclGetDeviceIDs\nclGetDeviceInfo\nclGetEventProfilingInfo\nclGetKernelInfo\nclGetKernelWorkGroupInfo\nclGetPlatformIDs\nclGetPlatformInfo\nclGetProgramInfo\nclGetProgramBuildInfo\nclReleaseCommandQueue\nclReleaseContext\nclReleaseEvent\nclReleaseKernel\nclReleaseMemObject\nclReleaseProgram\nclSetKernelArg\nclSetKernelArgSVMPointer\nclSVMAlloc\nclSVMFree\nclWaitForEvents\n```\n\nTo install the module run:\n```bash\npip install .\n```\nor just copy src/opencl4py 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.3, 3.4:\n```bash\nPYTHONPATH=src nosetests3 -w tests\n```\n\nfor PyPy:\n```bash\nPYTHONPATH=src pypy tests/test_api.py\n```\n\nCurrently, PyPy numpy support may be incomplete,\nso tests which use numpy arrays may fail.\n\nExample usage:\n\n```python\nimport opencl4py as cl\nimport logging\nimport numpy\n\n\nif __name__ == \"__main__\":\n logging.basicConfig(level=logging.DEBUG)\n platforms = cl.Platforms()\n logging.info(\"OpenCL devices available:\\n\\n%s\\n\",\n platforms.dump_devices())\n ctx = platforms.create_some_context()\n queue = ctx.create_queue(ctx.devices[0])\n prg = ctx.create_program(\n \"\"\"\n __kernel void test(__global const float *a, __global const float *b,\n __global float *c, const float k) {\n size_t i = get_global_id(0);\n c[i] = (a[i] + b[i]) * k;\n }\n \"\"\")\n krn = prg.get_kernel(\"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 = ctx.create_buffer(cl.CL_MEM_READ_ONLY | cl.CL_MEM_COPY_HOST_PTR,\n a)\n b_buf = ctx.create_buffer(cl.CL_MEM_READ_ONLY | cl.CL_MEM_COPY_HOST_PTR,\n b)\n c_buf = ctx.create_buffer(cl.CL_MEM_WRITE_ONLY | cl.CL_MEM_ALLOC_HOST_PTR,\n size=c.nbytes)\n krn.set_arg(0, a_buf)\n krn.set_arg(1, b_buf)\n krn.set_arg(2, c_buf)\n krn.set_arg(3, k[0:1])\n queue.execute_kernel(krn, [a.size], None)\n queue.read_buffer(c_buf, 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/Samsung/opencl4py", "downloads": { "last_day": -1, "last_month": -1, "last_week": -1 }, "home_page": "https://github.com/Samsung/opencl4py", "keywords": "OpenCL,clBLAS,opencl4py", "license": "Simplified BSD", "maintainer": null, "maintainer_email": null, "name": "opencl4py", "package_url": "https://pypi.org/project/opencl4py/", "platform": "UNKNOWN", "project_url": "https://pypi.org/project/opencl4py/", "project_urls": { "Download": "https://github.com/Samsung/opencl4py", "Homepage": "https://github.com/Samsung/opencl4py" }, "release_url": "https://pypi.org/project/opencl4py/1.5.1/", "requires_dist": null, "requires_python": null, "summary": "OpenCL cffi bindings and helper classes", "version": "1.5.1" }, "last_serial": 1667517, "releases": { "1.0": [ { "comment_text": "", "digests": { "md5": "6a42c76f2f804b0ebb4c74fd27721997", "sha256": "af36ad0e94cc32f406a2e32e01d95953d8f3274cfdebeb3c3d7768d1ece9a6cf" }, "downloads": -1, "filename": "opencl4py-1.0.tar.gz", "has_sig": false, "md5_digest": "6a42c76f2f804b0ebb4c74fd27721997", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11645, "upload_time": "2014-03-04T05:40:06", "url": "https://files.pythonhosted.org/packages/82/c4/488abd10e70f0cd9b17d01986ee88201f9d914ad323e4d9540a46b69e1df/opencl4py-1.0.tar.gz" } ], "1.0.1": [ { "comment_text": "", "digests": { "md5": "acf00bcccdeb237ab15a48087b496ce6", "sha256": "634ae0ddb89fb5874395d3e280e3691c4111d0d57c5eb7a0d0bc85bf3a4dd1a6" }, "downloads": -1, "filename": "opencl4py-1.0.1.tar.gz", "has_sig": false, "md5_digest": "acf00bcccdeb237ab15a48087b496ce6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 11639, "upload_time": "2014-03-04T17:55:25", "url": "https://files.pythonhosted.org/packages/16/60/6ba7d9739537f029e91c65b3d7c226ed11f96f560096706d314c1929bb07/opencl4py-1.0.1.tar.gz" } ], "1.0.2": [ { "comment_text": "", "digests": { "md5": "b77549e3a5f04812b8726d1d083b68b3", "sha256": "c6098d1359ad8c1a46a9ca9331c4489a4cca0a3e84e817600f93bf68b7bc8529" }, "downloads": -1, "filename": "opencl4py-1.0.2.tar.gz", "has_sig": false, "md5_digest": "b77549e3a5f04812b8726d1d083b68b3", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 13437, "upload_time": "2014-03-18T09:36:28", "url": "https://files.pythonhosted.org/packages/52/69/953cc60c71d10c0d4104d89f698c992c444a3309fbf53770a1f928def680/opencl4py-1.0.2.tar.gz" } ], "1.1.0": [ { "comment_text": "", "digests": { "md5": "68cbf0e0a2e3acad1ed5160a6321b062", "sha256": "7aea1c2926f0bac01ad2dafa00b6cabf67b5578bb71d673dd302a39fb076b9b0" }, "downloads": -1, "filename": "opencl4py-1.1.0.tar.gz", "has_sig": false, "md5_digest": "68cbf0e0a2e3acad1ed5160a6321b062", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 14028, "upload_time": "2014-04-01T13:39:51", "url": "https://files.pythonhosted.org/packages/b7/be/bc6bc91d0cc2aec5c4f74ce4bd2c559fe98403076cc8fe083336d358e22f/opencl4py-1.1.0.tar.gz" } ], "1.2.1": [ { "comment_text": "", "digests": { "md5": "a886ccd7fa244469c741627d6e53e4c2", "sha256": "7f9e2417e88629e8845cd16a6ec347098907c6ccefb2921a2c733bafc7acf238" }, "downloads": -1, "filename": "opencl4py-1.2.1.tar.gz", "has_sig": false, "md5_digest": "a886ccd7fa244469c741627d6e53e4c2", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16014, "upload_time": "2014-04-30T12:31:25", "url": "https://files.pythonhosted.org/packages/f0/77/27ed3fbec06304aa9900fb425cd767d544b362fb8f95bc66684aca3c590b/opencl4py-1.2.1.tar.gz" } ], "1.2.2": [ { "comment_text": "", "digests": { "md5": "e8e31d0e0e50ff31af1ac9ba752f574c", "sha256": "82bfe8bca8219aa7f1776ae26b126216ad220ad14d19b49cbd0f7bf03488900c" }, "downloads": -1, "filename": "opencl4py-1.2.2.tar.gz", "has_sig": false, "md5_digest": "e8e31d0e0e50ff31af1ac9ba752f574c", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16359, "upload_time": "2014-04-30T14:54:45", "url": "https://files.pythonhosted.org/packages/d0/5b/5df26a9292097ab22ca6c206c0c9eda6af39f744523287e1c08fd4a48c64/opencl4py-1.2.2.tar.gz" } ], "1.2.3": [ { "comment_text": "", "digests": { "md5": "0bcb83d77332fff9cf8811a322145572", "sha256": "4e7de8550b088380bc751b6571479e9e0c3e4cbcf05f5af8b255e07cfb65f41c" }, "downloads": -1, "filename": "opencl4py-1.2.3.tar.gz", "has_sig": false, "md5_digest": "0bcb83d77332fff9cf8811a322145572", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16374, "upload_time": "2014-05-05T03:46:10", "url": "https://files.pythonhosted.org/packages/d7/bf/282138072b3c0c75ef135666e7c4679646dbcc08993b46a2eb3b19e4cbb6/opencl4py-1.2.3.tar.gz" } ], "1.2.4": [ { "comment_text": "", "digests": { "md5": "46fce1363ce018fdb146921943aad73e", "sha256": "9ccf1c6024f2540e32a59038d747719c1601e9c269356f3473efb08bd1df723e" }, "downloads": -1, "filename": "opencl4py-1.2.4.tar.gz", "has_sig": false, "md5_digest": "46fce1363ce018fdb146921943aad73e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 16292, "upload_time": "2014-05-13T07:35:58", "url": "https://files.pythonhosted.org/packages/f8/cf/59b8422f3eed7e5f76de5162432deffb21d72711efbe0609a768157609d1/opencl4py-1.2.4.tar.gz" } ], "1.2.5": [ { "comment_text": "", "digests": { "md5": "bc840743f030735bc4bfb2e76f6b15c0", "sha256": "649060d5a04eaf5c4c4f10a0d0c22b12e8fddb5c98ac9249fd4ea71f700fafe1" }, "downloads": -1, "filename": "opencl4py-1.2.5.tar.gz", "has_sig": false, "md5_digest": "bc840743f030735bc4bfb2e76f6b15c0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 18272, "upload_time": "2014-05-13T16:26:46", "url": "https://files.pythonhosted.org/packages/f3/ca/549477bcc2e50210028a226ff5d9e0e0ae0d398b228822d221ce7661842b/opencl4py-1.2.5.tar.gz" } ], "1.2.6": [ { "comment_text": "", "digests": { "md5": "2ce81e18dc46aa292561870461af4908", "sha256": "ac9a1e13e2cb1ab97642066dd6eeca4c4ac8fde28039867f4884072404d8f690" }, "downloads": -1, "filename": "opencl4py-1.2.6.tar.gz", "has_sig": false, "md5_digest": "2ce81e18dc46aa292561870461af4908", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19184, "upload_time": "2014-06-01T10:16:58", "url": "https://files.pythonhosted.org/packages/f5/d2/33849065b44b04116638bebca725589ca49cba3b3c2abbd45c18a10906ab/opencl4py-1.2.6.tar.gz" } ], "1.2.7": [ { "comment_text": "", "digests": { "md5": "b6a72cc8f1640ca01ff02bfa6e5cd6e0", "sha256": "4b123ce789a98240e48b7244bba7503d13d7f38ae2dc0558e4cb315dcf562b97" }, "downloads": -1, "filename": "opencl4py-1.2.7.tar.gz", "has_sig": false, "md5_digest": "b6a72cc8f1640ca01ff02bfa6e5cd6e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 19680, "upload_time": "2014-06-03T15:16:20", "url": "https://files.pythonhosted.org/packages/1c/0e/97431ae7bf29364ef035923d196f43f7910ec7859cbaaad1080ccb3531eb/opencl4py-1.2.7.tar.gz" } ], "1.2.8": [ { "comment_text": "", "digests": { "md5": "94507997af85cbf0a7ecf4acc0f230e0", "sha256": "11dc8cf3670041f630514be85ab81d734d2f7b638bfb25deafa5612172e77b28" }, "downloads": -1, "filename": "opencl4py-1.2.8.tar.gz", "has_sig": false, "md5_digest": "94507997af85cbf0a7ecf4acc0f230e0", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 20886, "upload_time": "2014-09-08T09:12:11", "url": "https://files.pythonhosted.org/packages/82/a6/a9e441137a1604b3afb7aefd7a09c2d1ed11d0a29a8a64d2932cad69166b/opencl4py-1.2.8.tar.gz" } ], "1.3.0": [ { "comment_text": "", "digests": { "md5": "9858c3a86de0689c7d8d3f52c813ac8e", "sha256": "f9af0610a0bc26891f366f27fc6153de82d339b8278e2b5a74cede4527dffc1c" }, "downloads": -1, "filename": "opencl4py-1.3.0.tar.gz", "has_sig": false, "md5_digest": "9858c3a86de0689c7d8d3f52c813ac8e", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 24314, "upload_time": "2014-11-05T11:15:29", "url": "https://files.pythonhosted.org/packages/1f/ed/62106ba4ce8146d8648c9028b8b89176c93627e7d6fa516fbec43b4c7aa8/opencl4py-1.3.0.tar.gz" } ], "1.3.1": [ { "comment_text": "", "digests": { "md5": "3c950d5a1796cf472f75e6922588b895", "sha256": "4e45ad5e518e09cb6a239281ea079a48ea750f2805f2d338f0eef7850e1e9027" }, "downloads": -1, "filename": "opencl4py-1.3.1.tar.gz", "has_sig": false, "md5_digest": "3c950d5a1796cf472f75e6922588b895", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 26257, "upload_time": "2014-11-05T20:06:35", "url": "https://files.pythonhosted.org/packages/bc/8b/eff926e6fcce1fb8705678fb6a67b9060f984c9491b93120e81a49e9d97e/opencl4py-1.3.1.tar.gz" } ], "1.3.2": [ { "comment_text": "", "digests": { "md5": "33df3dd49d90467c7e9ee4079ce1146d", "sha256": "9d9942fc49ffb34d4ee3b0ef8e1acadb7a771449283a2b09616c3dcb10b4364c" }, "downloads": -1, "filename": "opencl4py-1.3.2.tar.gz", "has_sig": false, "md5_digest": "33df3dd49d90467c7e9ee4079ce1146d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 27104, "upload_time": "2014-11-07T22:15:40", "url": "https://files.pythonhosted.org/packages/50/62/e64038b807af741f68a5a34efecfa54dc384576bff85f34ce0ca20ab1bc8/opencl4py-1.3.2.tar.gz" } ], "1.3.4": [ { "comment_text": "", "digests": { "md5": "04c27384629534e7e9df9095bef17335", "sha256": "70ac789fd7088aa26ac2e50d8a2615401baf5ecde46897ddd82411bb076c6f69" }, "downloads": -1, "filename": "opencl4py-1.3.4.tar.gz", "has_sig": false, "md5_digest": "04c27384629534e7e9df9095bef17335", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30999, "upload_time": "2014-12-02T08:29:32", "url": "https://files.pythonhosted.org/packages/5c/89/5d8b7248d612ad2c43a1278f980f338734cb7777bb3f7d5703714216a5b4/opencl4py-1.3.4.tar.gz" } ], "1.3.5": [ { "comment_text": "", "digests": { "md5": "c1c760f911ac5c627ba4a7a4692c8e5a", "sha256": "0b36f76f5415eeaa52302c6b650479ac190be5472f7c79d60e0a9a7fce94426a" }, "downloads": -1, "filename": "opencl4py-1.3.5.tar.gz", "has_sig": false, "md5_digest": "c1c760f911ac5c627ba4a7a4692c8e5a", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31122, "upload_time": "2015-01-15T06:29:09", "url": "https://files.pythonhosted.org/packages/ad/f5/21f50a7e9582046d60945bcd837212124d673747a7ab32e7a89bd689a1fc/opencl4py-1.3.5.tar.gz" } ], "1.3.6": [ { "comment_text": "", "digests": { "md5": "f8ba4ce6b13a43afcaed0b9e401eba8d", "sha256": "366d8c3fddf184de1ab566b64cb56a1d9129d9219c8b679d0223a0cbedc560c0" }, "downloads": -1, "filename": "opencl4py-1.3.6.tar.gz", "has_sig": false, "md5_digest": "f8ba4ce6b13a43afcaed0b9e401eba8d", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31122, "upload_time": "2015-01-15T07:00:22", "url": "https://files.pythonhosted.org/packages/bb/cc/9c8d1d4f4956c92e916bfb64ee7b85e6051495d504034167e3fd4c5989bc/opencl4py-1.3.6.tar.gz" } ], "1.3.7": [ { "comment_text": "", "digests": { "md5": "5c2a214d4811d86ac35f8a000c136ca5", "sha256": "0a959087f3a5e38fe694b85fa36fe0f7f94acfa4299a0db855b9577bf84cd061" }, "downloads": -1, "filename": "opencl4py-1.3.7.tar.gz", "has_sig": false, "md5_digest": "5c2a214d4811d86ac35f8a000c136ca5", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30224, "upload_time": "2015-02-09T20:16:27", "url": "https://files.pythonhosted.org/packages/e6/e0/62ec8d518fca4c4d93b30c6294f3e3e7fa7711a680e3cb9b2f9ef49fd2e8/opencl4py-1.3.7.tar.gz" } ], "1.4.0": [ { "comment_text": "", "digests": { "md5": "c67bd3209ed5b62e0890f45d2e7336ac", "sha256": "775ac01ad670c2dcf92a62889a0c012755ac40f08ca6bde4a4df0382dbb37c00" }, "downloads": -1, "filename": "opencl4py-1.4.0.tar.gz", "has_sig": false, "md5_digest": "c67bd3209ed5b62e0890f45d2e7336ac", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31461, "upload_time": "2015-05-07T13:43:41", "url": "https://files.pythonhosted.org/packages/84/cf/196758ffce37139d4928db732d8cd0c8e5786544868698916ce45a33bcd5/opencl4py-1.4.0.tar.gz" } ], "1.4.1": [ { "comment_text": "", "digests": { "md5": "22318327fecf754f7eb49d11dcddfd28", "sha256": "d10404c79baab3862bf0fb681da714524c543b2199dd25e4b3f96646d1a82b6e" }, "downloads": -1, "filename": "opencl4py-1.4.1.tar.gz", "has_sig": false, "md5_digest": "22318327fecf754f7eb49d11dcddfd28", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31555, "upload_time": "2015-05-07T14:50:31", "url": "https://files.pythonhosted.org/packages/3a/9b/4a022310de3457f7913a814233faf6a7ade7432939ddde2abe61667c6541/opencl4py-1.4.1.tar.gz" } ], "1.5.0": [ { "comment_text": "", "digests": { "md5": "2d5a2166cce965d9a84bbfa9a03302d6", "sha256": "b5bd584ba19107fbf118e05fa2662c24f045c73c29e479c00236b0c032856126" }, "downloads": -1, "filename": "opencl4py-1.5.0.tar.gz", "has_sig": false, "md5_digest": "2d5a2166cce965d9a84bbfa9a03302d6", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 31536, "upload_time": "2015-05-14T10:56:57", "url": "https://files.pythonhosted.org/packages/e1/ab/e25426e55f2a30063237c6b9b7ef1ecf686f90115856d289ae8e7249455c/opencl4py-1.5.0.tar.gz" } ], "1.5.1": [ { "comment_text": "", "digests": { "md5": "4da99489694d133e6441df739aae0fec", "sha256": "eea17700124bb3f244fc22b100817586316709f25ff04dbbec0b3ca0e7e4b696" }, "downloads": -1, "filename": "opencl4py-1.5.1.tar.gz", "has_sig": false, "md5_digest": "4da99489694d133e6441df739aae0fec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30714, "upload_time": "2015-08-06T20:50:43", "url": "https://files.pythonhosted.org/packages/7b/e4/1fcb58a4040c19fa67abf66473019f030bb9c0ca7f81c970bf2c86f00bf7/opencl4py-1.5.1.tar.gz" } ] }, "urls": [ { "comment_text": "", "digests": { "md5": "4da99489694d133e6441df739aae0fec", "sha256": "eea17700124bb3f244fc22b100817586316709f25ff04dbbec0b3ca0e7e4b696" }, "downloads": -1, "filename": "opencl4py-1.5.1.tar.gz", "has_sig": false, "md5_digest": "4da99489694d133e6441df739aae0fec", "packagetype": "sdist", "python_version": "source", "requires_python": null, "size": 30714, "upload_time": "2015-08-06T20:50:43", "url": "https://files.pythonhosted.org/packages/7b/e4/1fcb58a4040c19fa67abf66473019f030bb9c0ca7f81c970bf2c86f00bf7/opencl4py-1.5.1.tar.gz" } ] }