Если вы просто добавляете матрицы, это на самом деле не имеет значения. Вы даете ему альфа, Aij, бета и Cij. Он думает, что вы даете ему альфа, аджи, бета и Cji, и дает вам то, что, по его мнению, Cji = beta Cji + alpha Aji. Но это правильный Cij, насколько вы обеспокоены. Мое беспокойство - это когда вы начинаете переходить к вещам, которые имеют значение - как матричные продукты. Там, вероятно, не обойтись.
Но, к тому же, вы не хотите использовать GEMM для добавления матрицы - вы делаете совершенно бессмысленное умножение матрицы (что принимает ~ 20 0003 операций и много проходов через память) для operatinon, который должен требовать только 20 0002 операций и один проход! Относитесь к матрицам как к векторам в 20 000 ^ 2-long и используйте саксофон.
Матричное умножение - интенсивность полосы пропускания памяти, поэтому существует огромная (коэффициент 10x или 100x) разница в производительности между ее кодированием и настроенной версией. В идеале вы бы изменили структуры вашего кода, чтобы они соответствовали библиотеке. Если вы не можете, в этом случае вы можете управлять только с помощью тождеств линейной алгебры. Порядок C-vs-Fortran означает, что, когда вы проходите в A, CUBLAS «видит» AT (A транспонирование). Что хорошо, мы можем обойти это. Если вам нужно C = A.B, переходите в матрицы в обратном порядке, B.A. Затем библиотека видит (BT. AT) и вычисляет CT = (A.B) T; а затем, когда он пройдет обратно CT, вы получите (в своем заказе) C. Протестируйте его и посмотрите.
Как отметил farooq, местоположение файла для манифеста не имеет значения, если манифест отвечает всем требованиям для получения манифеста :
манифест задаются следующим алгоритмом. Алгоритм, в случае успеха, возвращает обработанный манифест и URL манифеста; в противном случае он завершается преждевременно и ничего не возвращает. В случае, если ничего не возвращается, пользовательский агент ДОЛЖЕН игнорировать декларацию манифеста. Выполняя эти шаги, пользовательский агент НЕ ДОЛЖЕН задерживать событие загрузки.
blockquote>
- Из Документа контекста просмотра верхнего уровня пусть origin будет источником документа, , а ссылка manifest будет первым элементом ссылки в древовидной структуре, атрибут rel которого содержит манифест токена. 112]
Таким образом, это нормально для манифеста Django Progressive Web App, и расположение файла должно основываться на соглашении проекта:
<!-- Startup configuration --> <link rel="manifest" href="{% static 'app_name/manifest.webmanifest' %}">