Описание тега metal-performance-shaders

This tag is for questions pertaining to the MetalPerformanceShaders.framework on macOS, tvOS and iOS on Apple's platforms.
1 ответ

Как использовать два MPSImage на входе MPSNNGraph

Я пытаюсь ввести два изображения на MPSNNGraph. Тем не менее, даже если я введу массив типа [input1, input2] для "withSourceImages", я могу только ввести "input1" в качестве входного изображения. В идеале, при создании графика, как показано ниже, я …
01 авг '18 в 14:01
3 ответа

Библиотека линейной алгебры с использованием OpenGL ES 2.0 для iOS

Кто-нибудь знает библиотеку линейной алгебры для iOS, которая использует OpenGL ES 2.0 под прикрытием? В частности, я ищу способ сделать матричное умножение на матрицах произвольного размера (например, намного больше, чем 4x4, больше как 5000 x 100 …
2 ответа

MPSCNNConvolutionDescriptor neuronFilter устарел

В iOS 11.0 фильтр neuronFilter устарел у некоторых владельцев ConvolutionDesptors. Я все еще использую это, но XCode уже жалуется на устаревание, и это из-за последнего аргумента: let desc = MPSCNNConvolutionDescriptor(kernelWidth: kernel.0, kernelH…
2 ответа

Распределение MTLBuffer + синхронизация CPU/GPU

Я использую металлический шейдер производительности (MPSImageHistogram) вычислить что-то в MTLBuffer что я беру, выполняю вычисления, а затем показываю через MTKView, MTLBuffer вывод от шейдера небольшой (~4K байт). Так что я выделяю новый MTLBuffer…
1 ответ

Ошибка шаблона "неявная реализация" при использовании Metal API с Imageblocks

В следующем металлическом шейдерном коде производительности: #include <metal_stdlib> #include <simd/simd.h> using namespace metal; struct MeshVertex { half3 worldPosition3d; half2 cameraPosition2d; }; kernel void MeshImageblockShader_ker…
1 ответ

Тип "MyWeights" не соответствует протоколу "NSCopying"

Я использую Metal Performance Shader для настройки нейронной сети и столкнулся с проблемой при написании класса инициализации весов: тип "MyWeights" не соответствует протоколу "NSCopying". Что вызвало ошибку и как это исправить? PS. Я попытался испр…
1 ответ

Возникли проблемы с MPSMatrixMultiplication encodeToBuffer

Я использую MPSMatrixMultiplication, и когда я вызываю encodeToCommandBuffer, появляется сообщение об ошибке "Начальная матрица должна содержаться в каждом из объектов MPSMatrix". Я не уверен, что это значит. Я просто пытаюсь сделать простое вычисле…
0 ответов

Непоследовательные результаты при использовании Metal Performance Shaders между MacBook Pro и iMac

Я пытаюсь окунуться в воду программирования на GPU впервые. Я думал, что начну с чего-то простого и использую готовые ядра (отсюда и MPS) и просто попытаюсь выдать команды для GPU. Моя попытка состояла в том, чтобы просто сложить все значения от 1 д…
02 мар '19 в 00:33
1 ответ

Матричное умножение элементов Apple на металле (продукт Адамара)

Можно ли выполнить продукт Адамара, используя шейдеры Metal Performance от Apple? Я вижу, что обычное матричное умножение может быть выполнено с использованием этого, но я специально ищу поэлементное умножение или умный способ его построения. (Напри…
1 ответ

Правильное использование MPSImageGaussianPyramid с металлом

Я хотел бы использовать MPSImageGaussianPyramid но я очень плохо знаком с использованием металла и с мипмапами. Я хотел бы использовать фильтр для создания пирамиды изображений для методов обработки изображений. Из того, что я могу собрать, MPSImage…
02 янв '19 в 10:21
1 ответ

MPSNNGraph Изменить форму узла

Есть ли аналог Reshape слоя Keras/TensorFlow в Metal/Metal-Performance-Shaders? Я конвертирую обученную модель Keras в MPSNNGraph, и у меня возникли проблемы с обработкой секции conv2d->density->conv2dTranspose. Я пытаюсь построить следующую конфигу…
0 ответов

Как передать массив значений float3 из CPU в GPU в Metal?

У меня есть требование передать значения цвета в шейдер в виде массива. Прямо сейчас я передаю его как структуру RGBColors и получаю как структуру, и она работает нормально. Но я хочу получить его как значение float3 в шейдере. Но как только я измен…
15 ноя '17 в 10:49
1 ответ

Как преобразовать MTLTexture в CVpixelBuffer для записи в AVAssetWriter?

У меня есть требование применить фильтры к живому видео, и я пытаюсь сделать это в металле. Но я столкнулся с проблемой при преобразовании MTLTexture в CVPixelBuffer после кодирования фильтра в фильтр назначения. Ссылка ( https://github.com/oklyc/Me…
2 ответа

Преобразование MPSNNImageNode с использованием Metal Performance Shader

В настоящее время я работаю над репликацией YOLOv2 (не крошечной) на iOS (Swift4) с использованием MPS. Проблема в том, что мне трудно реализовать функцию space_to_depth ( https://www.tensorflow.org/api_docs/python/tf/space_to_depth) и объединение д…
1 ответ

Как создать пользовательские цветовые фильтры с помощью CoreImage или Metal Performance Shaders?

Мне нужно создать цветовые фильтры на основе значений RGBA. Это нормально для меня - Core Image или Metal Performance Shaders. Базовое изображение с некоторыми фильтрами по умолчанию. Но мне нужны фильтры с цветовыми кодами RGBA. Можно ли создать та…
1 ответ

Копирование данных между металлическими текстурами разных форм

Я конвертирую две обученные модели Keras в Metal Performance Shaders. Я должен изменить форму вывода первого графика и использовать его в качестве входных данных для второго графика. Выход первого графика - это MPSImage с "shape" (1,18192), а вывод …
09 июл '18 в 16:33
1 ответ

Xcode Model I/O - импорт пользовательских шейдеров из Marmoset

Согласование с документацией по модели ввода / вывода Apple: Блок цитата Вы можете использовать эту платформу для импорта и экспорта ресурсов из и в различные стандартные форматы файлов, поддерживаемые популярными инструментами разработки и игровыми…
0 ответов

Производительность атомных операций с металлом на iOS

Если нужно вычислить статистику изображения, такую ​​как гистограмма, используются ли атомарные операции, такие как атомарная нагрузка, и добавлять или накапливать результаты, используя повторяющиеся операции смешивания? Многократное ли смешивание в…
29 апр '18 в 06:53
2 ответа

Общие переменные в шейдерах Fragment в Metal или OpenGLES

Это может быть маловероятным, но есть ли концепция общих глобальных переменных, которые могут обновляться при каждом проходе фрагментных шейдеров в Metal & OpenGLES? Я хочу обновить статистику после обработки каждого пикселя. Я предполагаю, что буде…
1 ответ

Как синхронизировать Metal Performance Shader с MTLBlitCommandEncoder?

Я пытаюсь лучше понять требования синхронизации при работе с Metal Performance Shaders и MTLBlitCommandEncoder, у меня есть MTLCommandBuffer это настроено следующим образом: использование MTLBlitCommandEncoder скопировать область текстуры A в тексту…