{"action":"created","issue":{"url":"https://api.github.com/repos/BVLC/caffe/issues/2610","labels_url":"https://api.github.com/repos/BVLC/caffe/issues/2610/labels{/name}","comments_url":"https://api.github.com/repos/BVLC/caffe/issues/2610/comments","events_url":"https://api.github.com/repos/BVLC/caffe/issues/2610/events","html_url":"https://github.com/BVLC/caffe/pull/2610","id":88865719,"number":2610,"title":"Caffe OpenCL support","user":{"login":"naibaf7","id":5577650,"avatar_url":"https://avatars.githubusercontent.com/u/5577650?v=3","gravatar_id":"","url":"https://api.github.com/users/naibaf7","html_url":"https://github.com/naibaf7","followers_url":"https://api.github.com/users/naibaf7/followers","following_url":"https://api.github.com/users/naibaf7/following{/other_user}","gists_url":"https://api.github.com/users/naibaf7/gists{/gist_id}","starred_url":"https://api.github.com/users/naibaf7/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/naibaf7/subscriptions","organizations_url":"https://api.github.com/users/naibaf7/orgs","repos_url":"https://api.github.com/users/naibaf7/repos","events_url":"https://api.github.com/users/naibaf7/events{/privacy}","received_events_url":"https://api.github.com/users/naibaf7/received_events","type":"User","site_admin":false},"labels":[],"state":"open","locked":false,"assignee":null,"milestone":null,"comments":7,"created_at":"2015-06-16T23:25:11Z","updated_at":"2015-06-18T14:16:10Z","closed_at":null,"pull_request":{"url":"https://api.github.com/repos/BVLC/caffe/pulls/2610","html_url":"https://github.com/BVLC/caffe/pull/2610","diff_url":"https://github.com/BVLC/caffe/pull/2610.diff","patch_url":"https://github.com/BVLC/caffe/pull/2610.patch"},"body":"# Full OpenCL support for Caffe\r\nThe idea is to end up with a complete polymorphic device abstraction until the end of the year. At the moment, it offers a side-by-side implementation of OpenCL and CUDA.\r\nThe second objective is enhanced layers for fast pixelwise image classification with Caffe.\r\n\r\n## New optional requirements for Caffe\r\n* ViennaCL header-only library\r\n* clBLAS or viennaclblas dynamic/shared library\r\n\r\n## Key features\r\n* Full OpenCL and CUDA support for all layers\r\n* Strided-kernel enhancements for pixelwise classification\r\n* Ability to build as CPU only or with OpenCL and CUDA support. Each backend can be enabled and disabled independently\r\n* Hybrid OpenCL/CBLAS implementation as a basis for a faster CPU backend. The hybrid solution also reduces memory redundancy in the Syncedmem class for CPU OpenCL devices. The future of this will also enhance support for AMD APUs with both CPU and GPU cores.\r\n* Support for 2 OpenCL BLAS libraries: ViennaCL-BLAS and CLBLAS\r\n* Seamless selection of CUDA and OpenCL devices. Supports multi-vendor ICDs. Can be run and compiled for AMD, Intel and nVidia OpenCL at once, from OpenCL 1.1 and up.\r\n* All original Caffe tests in the test rig pass without failure on all OpenCL implementations.\r\n* Aimed at getting peak performance on all device types\r\n* Enabling/disabling OpenCL and CUDA as easy as setting a flag in the Makefile.config, much like the CPU_ONLY flag\r\n* Adding a minimal amount of code overhead by leaving a lot of the OpenCL complexity to ViennaCL.\r\n\r\n## Missing features\r\n* CMAKE support. Still needs some tuning to produce the same results as the Makefile.\r\n* Proper OpenCL RNG. Currently, CPU RNG and memory copy is used to provide the OpenCL implementation with random numbers.\r\n"},"comment":{"url":"https://api.github.com/repos/BVLC/caffe/issues/comments/113170078","html_url":"https://github.com/BVLC/caffe/pull/2610#issuecomment-113170078","issue_url":"https://api.github.com/repos/BVLC/caffe/issues/2610","id":113170078,"user":{"login":"bhack","id":1710528,"avatar_url":"https://avatars.githubusercontent.com/u/1710528?v=3","gravatar_id":"","url":"https://api.github.com/users/bhack","html_url":"https://github.com/bhack","followers_url":"https://api.github.com/users/bhack/followers","following_url":"https://api.github.com/users/bhack/following{/other_user}","gists_url":"https://api.github.com/users/bhack/gists{/gist_id}","starred_url":"https://api.github.com/users/bhack/starred{/owner}{/repo}","subscriptions_url":"https://api.github.com/users/bhack/subscriptions","organizations_url":"https://api.github.com/users/bhack/orgs","repos_url":"https://api.github.com/users/bhack/repos","events_url":"https://api.github.com/users/bhack/events{/privacy}","received_events_url":"https://api.github.com/users/bhack/received_events","type":"User","site_admin":false},"created_at":"2015-06-18T14:16:10Z","updated_at":"2015-06-18T14:16:10Z","body":"Remove libboost-python1.54-dev. It is for my pull request."}}