{
    "version": "https:\/\/jsonfeed.org\/version\/1",
    "title": "Блог Артёма Агасиева: заметки с тегом GPU",
    "_rss_description": "Telegram: @aagasiev",
    "_rss_language": "ru",
    "_itunes_email": "",
    "_itunes_categories_xml": "",
    "_itunes_image": "",
    "_itunes_explicit": "",
    "home_page_url": "https:\/\/agasiev.com\/tags\/gpu\/",
    "feed_url": "https:\/\/agasiev.com\/tags\/gpu\/json\/",
    "icon": "https:\/\/agasiev.com\/user\/userpic@2x.jpg?1529202066",
    "author": {
        "name": "Артём Агасиев",
        "url": "https:\/\/agasiev.com\/",
        "avatar": "https:\/\/agasiev.com\/user\/userpic@2x.jpg?1529202066"
    },
    "items": [
        {
            "id": "80",
            "url": "https:\/\/agasiev.com\/all\/oshibka-pri-rabote-s-bibliotekoy-implicit-na-gpu\/",
            "title": "Ошибка при работе с библиотекой implicit на GPU",
            "content_html": "<p>Работаю тут с библиотекой implicit для питона, настроил всю инфраструктуру CUDA, прописал все пути, но все равно ловил странное исключение, при попытке использования ALS на GPU:<\/p>\n<pre class=\"e2-text-code\"><code class=\"\">No CUDA extension has been built, can't train on GPU<\/code><\/pre><p>Чтож, идем читать исходники <a href=\"https:\/\/github.com\/benfred\/implicit\/blob\/master\/implicit\/gpu\/als.py\">als.py<\/a>:<\/p>\n<pre class=\"e2-text-code\"><code class=\"python\">\r\nif not implicit.gpu.HAS_CUDA:\r\n    raise ValueError(\"No CUDA extension has been built, can't train on GPU.\")\r\n<\/code>\n<\/pre>\n<p>Очевидно, HAS_CUDA == False, но с чего это вдруг? Находим инициализацию этой переменной в <a href=\"https:\/\/github.com\/benfred\/implicit\/blob\/master\/implicit\/gpu\/__init__.py\">__init__.py<\/a>:<\/p>\n<pre class=\"e2-text-code\"><code class=\"python\">\r\ntry:\r\n    import cupy  # noqa\r\n\r\n    from ._cuda import *  # noqa\r\n\r\n    HAS_CUDA = True\r\nexcept ImportError:\r\n    HAS_CUDA = False\r\n<\/code>\n<\/pre>\n<p>Файл _cuda — локальный, значит остается только проверить наличие <a href=\"https:\/\/docs.cupy.dev\">cupy<\/a> на рабочей машине. И правда, все дело было именно в её отсутствии. Ну хоть сообщить то об этом нормально можно было? :(<\/p>\n<p>Устанавливаем по  <a href=\"https:\/\/docs.cupy.dev\/en\/stable\/install.html\">инструкции<\/a>, запускаем fit на ALS и вуаля, все работает. На RTX 3090 прирост скорости обучения, по сравнению с Xeon W-2265, у меня был примерно в 20 раз, на разреженной матрице размерности 300000х100000.<\/p>\n",
            "date_published": "2021-05-03T01:50:50+03:00",
            "date_modified": "2021-05-03T01:50:39+03:00",
            "_date_published_rfc2822": "Mon, 03 May 2021 01:50:50 +0300",
            "_rss_guid_is_permalink": "false",
            "_rss_guid": "80",
            "_e2_data": {
                "is_favourite": false,
                "links_required": [
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css",
                    "system\/library\/highlight\/highlight.js",
                    "system\/library\/highlight\/highlight.css"
                ],
                "og_images": []
            }
        }
    ],
    "_e2_version": 3576,
    "_e2_ua_string": "E2 (v3576; Aegea)"
}