Идею я понимаю и она кажется разумной и простой. С точки зрения реализации навскидку встаёт вопрос как быстро, просто и эффективно подготовить 8 матриц размера 32'768^2 / 8 байт каждая?
Отличная статья, спасибо!
Я не знаком с Cuda, но изучив их статью и погулив, понял о чём речь, поправьте если я не прав.
Cuda даёт в руки программиста управление над L1-кэшем видеокарты и это очень интересная возможность. Что касается Metal, то такая возможность мне не попадалась, поэтому, видимо приходится полагаться на встроенные оптимизации и эффективную работу кэша. Соответственно такая оптимизация не применима, по крайней мере пока.
В то же время важно упомянуть, что Metal предоставляет разные режимы работы памяти, а именно:
private — память доступна только для GPU
managed — память доступна для CPU и GPU и требует явной синхронизации
shared — память доступна для CPU и GPU и не требует явной синхронизации
В моей реализации используется shared, так как на мобильных устройствах видеокарты используют одну и ту же с процессором память. То же касается интегрированных видеокарт в указанных ноутбуках.
Таким образом, при тестировании игры на более мощных неинтегрированных видеокартах, имеет смысл выбрать режим managed и добавить явную синхронизацию во избежание избыточного обмена данными между памятью GPU и общей памятью.
Общий ключ находится, но он является частью тех самых «поедим», «поели», «поем», «поест», «поесть»
Такое конечно есть, но вычисляется на основе попадания в документы, важность слов в них и сочетаний этих попаданий и их оценки на этапе анализа и оценки.
Вкратце я упомянул морфологический анализ и разумеется у нас есть механизм, чтобы отличать китайскую и белорусскую кухни, однако это темы, достойные отдельных статей, поэтому здесь упомянуты лишь вскользь.
Согласен, можно спросить коллег, однако, в мире ИТ интроверты не редкость и кто-то может любить обедать в одиночестве, например. А ещё поиск в справочнике может помочь найти новые места даже если вы знаете все кафе в округе.
Наши индексы привязаны к конкретным городам-проектам, например есть индексы Москвы, Новосибирска и другие.
Соответсвенно размер индексов разный для каждого города, его можно узнать в списке городов в приложении, например размер индекса Москвы около 300мб, а Омска около 45мб.
Против каждого шара есть подсказки как с ними бороться: какая — то боится света, какая-то — тепла. В демо версии это не так очевидно, но в полной версии взаимодействие с аномалиями мы сделали понятнее.
Речь идёт о теге <form>.
Звучит очень интересно! Пока не приходит на ум как это сделать эффективно, поэтому предлагаю сделать форк на гитхабе и сможем обсудить и сравнить :)
Я не знаком с Cuda, но изучив их статью и погулив, понял о чём речь, поправьте если я не прав.
Cuda даёт в руки программиста управление над L1-кэшем видеокарты и это очень интересная возможность. Что касается Metal, то такая возможность мне не попадалась, поэтому, видимо приходится полагаться на встроенные оптимизации и эффективную работу кэша. Соответственно такая оптимизация не применима, по крайней мере пока.
В то же время важно упомянуть, что Metal предоставляет разные режимы работы памяти, а именно:
В моей реализации используется shared, так как на мобильных устройствах видеокарты используют одну и ту же с процессором память. То же касается интегрированных видеокарт в указанных ноутбуках.
Таким образом, при тестировании игры на более мощных неинтегрированных видеокартах, имеет смысл выбрать режим managed и добавить явную синхронизацию во избежание избыточного обмена данными между памятью GPU и общей памятью.
Отличная идея, так оно, в общем-то и происходит при расчётах на GPU здесь, на CPU здесь и на высоком уровне здесь
Такое конечно есть, но вычисляется на основе попадания в документы, важность слов в них и сочетаний этих попаданий и их оценки на этапе анализа и оценки.
Наши индексы привязаны к конкретным городам-проектам, например есть индексы Москвы, Новосибирска и другие.
Соответсвенно размер индексов разный для каждого города, его можно узнать в списке городов в приложении, например размер индекса Москвы около 300мб, а Омска около 45мб.