Я знаю, что количество рабочих элементов влияет на время выполнения, но следует ли ожидать, что у меня будут несколько разные результаты, используя разные количества рабочих элементов при многократном запуске ядра? СпасибоВлияние рабочих элементов на вычисления
ответ
Если у вас есть другие результаты, значит, у вас есть ошибка в коде. Если вы просто сделаете norm+=element*element;
для глобальной переменной norm
, то произойдет то, что некоторые потоки выполняют это одновременно, а часть вашей нормы теряется.
Чтобы сделать вещи простыми, это даже происходит, когда два рабочих элемента увеличивают один и тот же счетчик, a++
. Оба будут читать текущее значение a
, оба увеличат его до a+1
и оба напишут a+1
обратно в реестр. Таким образом, вы получаете a+1
вместо a+2
. То, что происходит, похоже на ваш вектор.
Спасибо, но я нашел проблему. Мой метод чувствителен к порядку рабочих элементов. – Damoon
- 1. Maple - Влияние элементов последовательности
- 2. Конкретных разрешения рабочих элементов
- 3. Создание пользовательских рабочих элементов
- 4. Иерархия рабочих элементов
- 5. NDRange Количество рабочих-элементов
- 6. Таблица рабочих элементов TFS Visiblity
- 7. Сколько потоков/рабочих элементов используется?
- 8. Соглашения об именах рабочих элементов
- 9. Взаимное влияние на JComboBoxes
- 10. Максимальное количество рабочих элементов, рабочих групп в рамках NDRange
- 11. Извлечение рабочих элементов и связанных с ними рабочих элементов в одном запросе с использованием API TFS
- 12. Как предотвратить влияние элементов ввода на ширину столбцов таблицы?
- 13. Влияние на производительность с использованием элементов управления ASP.NET
- 14. цикл над 2 наборами рабочих листов, выполнить вычисления и заполнить 3-й набор рабочих листов
- 15. Понимания рабочих элементов и рабочие группы
- 16. TFS, изменяющиеся состояния разных рабочих элементов
- 17. Имеет ли смысл хранить URI рабочих элементов
- 18. Как запросить для моих последних рабочих элементов
- 19. OData4j 0.7 Исключение при получении рабочих элементов
- 20. Использование переменных в определениях рабочих элементов TFS
- 21. Использование локальных рабочих в OpenCL для вычисления больших матриц
- 22. Перевести типы рабочих элементов TFS на другой язык
- 23. Как версия сборок-предварительно наплавленных на основе рабочих элементов
- 24. Плоский список рабочих элементов с ограничением на путь итерации родителя
- 25. Избегайте связывания автоматических рабочих элементов при нажатии на хранилища git
- 26. Какое влияние оказывает влияние на индекс оракула на поплавковой колонке?
- 27. Создание шаблона для рабочих элементов в TFS
- 28. Последняя версия рабочих элементов в TFS 2010
- 29. TFS: Поиск нескольких рабочих элементов по ID
- 30. Отслеживание ветвей и рабочих элементов TFS
Не могли бы вы немного описать, что означает «немного другое» в этом контексте. Вы говорите о значениях с плавающей запятой? Не могли бы вы указать некоторые относительные и абсолютные ошибки, которые вы видите? – talonmies
Что у кого сейчас, где сейчас? Пожалуйста, уточните, что вы просите здесь. – cha0site
Я написал код как для CPU, так и для GPU. который итерации по элементам в векторе, а затем находит норму. Но с таким же количеством итераций я получаю несколько иные нормы. Это потому, что я использую float в OpenCL, а не CL_float? – Damoon