One core per compute unit что это

AKADO.Форум

Спонтанные зависания ОС

  • Нравится
  • Не нравится

FeodoR 22 окт 2013

Вот и меня посетила неведомая хрень.
Абсолютно рандомно виснет комп. То есть может отработать неделю, а может несколько часов. Логи вроде как чистые, ничего криминального нет (кроме марсиан с роутера).

  • Мать Gigabyte GA-990FXA-UD5 rev 1.0, BIOS F12 (последний)
  • Проц AMD FX-8350 (октакор, 4ГГц на ядро)
  • ОЗУ 4×8Гб Kingston HyperX DDR3 (на частоте 1333МГц)
  • Видео 3Гб Sapphire Radeon 7970
  • Сеть Intel PRO/1000 PT dual port server adapter EXPI9402PTBLK
  • Блок питания Scythe Kamariki4 650Вт
  • Дисковая подсистема:
    • Intel RAID SRCSATAWB (Pcie 4x, 8 портов). К нему зацеплено 4 2Тб Seagate ST2000NM0033-9ZM и как-то разбито (разбивку не помню) 🙂 .
    • Onboard AHCI:
      • 2х3Тб Seagate ST3000DM001-9YN1 (fw CC4B) в RAID1 силами software RAID
      • 2Тб Western Digital WD20EARS-00M.

ОС: Debian 7.2 amd64
Загрузка ядра идёт с такими параметрами:

Последнее время гружусь ещё и с noacpi.

Может быть кто-нибудь что-нибудь подскажет. У меня уже гайки отдаются.
БП может быть слабым звеном? Напряжения у него вроде в норме.

  • Нравится
  • Не нравится

ВОТ 22 окт 2013

Тут главное слово – рандомно, в этом вся засада …
Если Б/П не помирает (что может случиться с любым) возможно виноват и он, но по характеристикам его — более чем достаточно, нужно искать методом отключения и замены. Попробуй отключить все лишние (порядок не принципиален):
— попробовать вскрыть, и посмотреть все кондеры, заодно почистить т пыли и проверить нагрев и крепление радиаторов
— начать с тестирования памяти (требует времени много, но в теории возможно все)
— отрубить «лишние»: диски, приводы, … оставив мин (все все без чего можно запустить РС)
— сменить видяху … любую другую
— отключив все лишнее и запуститься с другим Б/П

Если железо ОК (не найдено) т.е. ни чего не помогло — попробовать забекапить систему и поставить ее заново.
Чисто в теории, можно вспомнить момент, когда возник косяк, а там вспомнить что ставили или обновляли … можно залезть в БИОС , выставить по умолчанию, затем выставит что нужно (но по мин). Ждать чуда (ответа на вопрос – что не так) … не стоит, его не будет, нет следов, нет мыслей … начни со стресс тестов, но запускай не из под установленной системы.

К слову, начал глючить роутер, рандомная ошибка … сменил Б/П … не помогло, вскрыл и … подозрительно чуть-чуть вздулся конденсатор (может он такой от рождения), сменил все банки, наклеил доп радиаторы (радиаторы и секундный клей в избытке), и чудо – пашет без нареканий. Пожалел, что не выбросил, т.к. очень хотелось обновиться … теперь еще лет 5 ждать его кончины.

ЗЫ: Крамольная мысль — попробуй отключить диск с системой, а а другой поставить винду (во время установки она использует железо по мах), если поставилось — ставим кризис или метро и играем или запускаем демку на мах настройках. это лучшая проверка. Зависло — копаем железо, нет систему. (RAID — отключи, можно запортить)

CUINFO позволяет разблокировать блоки Compute Units GPU Fiji, Hawaii и Tonga

Друг форума

Вновь и вновь в Интернете появляется информация об утилитах и специализированных версиях BIOS, которые позволяют разблокировать архитектурные блоки GPU. На этот раз новость касается некоторых GPU от AMD.

AMD и NVIDIA выбирают разные аппаратные конфигурации GPU для своих видеокарт. Благодаря этому они могут использовать частично дефектные GPU, отключив сбойные блоки. Конечно, есть возможность специально отключать и хорошие блоки, чтобы дифференцировать чипы. Речь сегодня пойдет об утилите CUINFO от пользователя tx12 с форума Overclock.net. Она показывает, сколько именно блоков Compute Unit отключено в GPU. Некоторые блоки могут быть просто деактивированными, другие являются сбойными, третьи аппаратно отключены лазерной резкой. И утилита как раз позволяет узнать, какие блоки Compute Units можно теоретически активировать.

Утилита потенциально должна работать со всеми GPU AMD «Fiji», «Hawaii» и «Tonga». Скорее всего, будут корректно определяться и все новые архитектуры GCN. Утилита тестировалась на GPU «Fiji» в новых видеокартах Fury, а именно Radeon R9 Fury X (тест и обзор) и Radeon R9 Fury (тест видеокарт ASUS и Sapphire). Видеокарты GPU «Hawaii» относятся к предыдущему поколению – поддерживаются Radeon R9 290X и Radeon R9 290. Что касается новой редакции с кодовым названием «Grenada» в виде Radeon R9 390X (тест и обзор), то утилиту потенциально использовать можно, но сможет ли она активировать CU – пока неизвестно. Видеокарты Radeon R9 285 (тест и обзор) и Radeon R9 380 (тест и обзор) опираются на упомянутый GPU «Tonga» – с ними утилита тоже может обращаться к конфигурации CU.

Разработчик CUINFO в качестве примера взял Sapphire Radeon R9 Fury Tri-X, утилита выдала следующие значения:

Adapters detected: 1
Card #1 PCI ID: 1002:7300 — 174B:E329
DevID [7300] Rev [CB] (0), memory config: 0x00000000 (unused)
Fiji-class chip with 16 compute units per Shader Engine
SE1 hw/sw: 00030000 / 00000000 [. xx]
SE2 hw/sw: 02400000 / 00000000 [. x..x. ]
SE3 hw/sw: 90000000 / 00000000 [x..x. ]
SE4 hw/sw: 00090000 / 00000000 [. x..x]
56 of 64 CUs are active. HW locks: 8 (R/W) / SW locks: 0 (R/W).
8 CU’s are disabled by HW lock, override is possible at your own risk.

То есть активны 56 из 64 доступных блоков Compute Units. То есть каждый восьмой CU заблокирован аппаратным способом, активация невозможна или очень трудоемка. Обратите внимание, что почти все заблокированные CU находятся в разных столбцах. Возможны конфигурации, когда из заблокированных CU формируется целый столбец. Ниже приведен вариант конфигурации, когда один столбец полностью заполнен.

SE1 hw/sw: 00030000 / 00000000 [. x.x]
SE2 hw/sw: 02400000 / 00000000 [. xx]
SE3 hw/sw: 90000000 / 00000000 [. x.x]
SE4 hw/sw: 00090000 / 00000000 [. xx]

TX12, разработчик CUINFO, описывает ситуацию так:

«Как правило, вам следует пытаться разблокировать некоторые ядра ТОЛЬКО если не менее одного из двух самых правых столбцов заполнено «x». На примере выше только самый правый столбец (#1) заполнен «x», а второй столбец (#2) уже не заполнен целиком. Если ни один из двух правых столбцов не заполнен целиком «x», то вам, скорее всего, не повезло. И думать о разблокировке не стоит. Или пробовать все ROM и надеяться на удачу (не рекомендуется)».

Но дело, конечно, не заканчивается информацией об отключенных CU. TX12 предлагает скрипт, создающий три разные версии BIOS. В зависимости от позиции и числа заполненных столбцов CPU, следует использовать свою версию BIOS. Все детали подобно описаны в руководстве на английском. Важно не забыть сделать резервную копию оригинальной версии BIOS.

Управление числом vCPU и ядер в виртуальной машине

При создании виртуальных машин на различных гипервизорах (VMWare, KVM, Hyper-V и т.д.) вы можете обратить внимание, что иногда виртуальная машина может не видеть все выделенные ей виртуальные ядра (vCPU). В нашем случае виртуальной машине на KVM были выделены 8 vCPU, на нее установлена Windows 10. Однако Windows определяла эти ядра как отдельные процессоры, из которых можно использовать только 2 vCPU.

Виртуальная машина Windows 10 не видит все ядра

Если открыть диспетчер устройств Windows, можно убедится, что все выделенные ядра видны в качестве 8 отдельных виртуальных процессоров типа QEMU Virtual CPU version 2,5.

При этом в свойствах Windows 10 (Computer -> Properties) и в Task Manage видно, что на компьютере доступны только 2 процессора QEMU Virtual CPU.

То есть сколько бы вы не добавили виртуальных ядер, Windows 10 все равно сможет использовать только два. При этом соседний виртуальный сервер с Window Server 2016 на этом же гипервизоре видит все 16 выделенных ему vCPU.

Количество поддерживаемых процессоров в Windows 10

Проблема заключается в том, что в десктопных редакциях Windows (Windows 10/8.1/7) есть ограничение на максимальное количество физических процессоров (сокетов), которое компьютер может использовать:

  • Windows 10 Home – 1 CPU
  • Windows 10 Professional – 2 CPU
  • Windows 10 Workstation – до 4 CPU
  • Windows Server 2016 – до 64 CPU

Однако это ограничение не распространяется на ядра. Т.е. для повышения производительности вы можете использовать процессор с большим количеством ядер. Большинство гипервизоров умеют предоставлять vCPU в виде процессоров, процессорных ядер или даже потоков. Т.е. вместо 8 виртуальных CPU вы можете предоставить vCPU в виде 2 сокетов по 4 ядра в каждом. Рассмотрим, как в различных системах виртуализации выделить виртуальные процессоры в виде ядер и как это связать с архитектурой NUMA, использующейся в современных процессорах.

Управление виртуальными ядрами и vCPU в KVM

В моей виртуальной машине KVM c Windows 10, все назначенные виртуальные ядра считаются отдельными процессорами.

Чтобы использовать все ресурсы CPU, выделенные виртуальной машине нужно, чтобы виртуальная машина видела не 8 процессоров, а один 8-ядерный процессор, 2 процессора по 4 ядра или 1 процессор с 4 ядрами по 2 потока. Попробуем изменить способ назначения виртуальных ядер для ВМ на KVM.

Выключите виртуальную машину:

# virsh shutdown server.vpn.ru – где server.vpn.ru это имя виртуальной машины.

Выведите текущую XML конфигурацию виртуальной машины KVM:

# virsh dumpxml server.vpn.ru

Нам интересен блок с описанием процессоров:

Как видим, у нас указано просто 8 vCPU. Изменим конфигурацию:

# virsh edit server.vpn.ru

И после добавим:

  • host-passthrough — режим эмуляции при котором на виртуальной машине будет показан физический процессор узла кластера (ноды).
  • sockets=’1′ — указываем что процессор 1
  • cores=’4′ — указываем, что процессор имеет 4 ядра
  • threads=’2′ — указываем, что ядра у нас по 2 потока

Сохраните конфигурационный файл и запустите ВМ. Авторизуйтесь в гостевой ВМ с Windows 10 и в Task Manager или Resource Monitor проверьте, что ОС видит все выделенные виртуальные ядра.

Также в свойства системы теперь стал отображаться физический процессор хоста Intel(R) Xeon(R) Silver 4114 CPU, а не виртуальный.

Так нам удалось решить проблему с нагрузкой на ВМ, так как двух ядер не хватало для полноценной работы приложений.

Настройка виртуальных процессоров и количества ядер в VMWare

Вы можете изменить способ презентации vCPU для виртуальной машины VMWare из интерфейса vSphere Client.

  1. Выключите ВМ и откройте ее настройки;
  2. Разверните секцию CPU;
  3. Изменим конфигурацию ВМ так, чтобы гостевая ОС видела 2 процессора по 4 ядра. Измените значение Cores per Socket на 4. Это означает, что гостевая ОС будет видеть два четырех –ядерных процессора (2 сокета по 4 ядра);
  4. Сохраните изменения и запустите ВМ.

Архитектура NUMA и виртуальные vCPU

Есть еще несколько аспектов назначения vCPU и ядер виртуальным машинам, которые нужно понимать.

При назначении ядер на сокете учитывайте наличие NUMA архитектуры (используется в большинстве современных CPU). Не рекомендуется назначать вашей ВМ количество ядер на сокет (и общее количество vCPU) больше, чем доступно ядер на вашем физическом сокете/процессоре (ноде NUMA). При размещении на одной физической ноде NUMA, виртуальная машина сможет использовать быструю локальную RAM, доступную на конкретной ноде NUMA. Иначе для выполнения операции процессам придется ждать ответа от другой ноды NUMA (что несколько более долго).

Если вы назначаете для ВМ два отдельных виртуальных сокета, то гипервизор может их запускать на разных нодах NUMA. Что не лучшим образом скажется на производительности ВМ.

Если количество требуемых vCPU превышает количество ядер на 1 физическом сокете (ноде NUMA), нужно создать несколько виртуальных сокетов (процессоров) с необходимым количество ядер. Также не желательно использовать нечетное количество процессоров (лучше добавить 1 vCPU)

Это позволит сохранить производительность виртуальной машины.

Например, для 2 процессорного хоста с 10 ядрами (суммарно доступно 40 vCPU с учетом HyperThreading), при настройке vCPU для ВМ оптимально использовать такие конфигурации:

IBM Processor Value Unit (PVU) licensing FAQs

Below are some of our most frequently asked questions about Processor Value Unit (PVU) licensing and requirements. To view answers, simply click a question.

1. What is a Processor Value Unit (PVU)?

A Processor Value Unit (PVU) is a unit of measure used to differentiate licensing of middleware based on distributed processor technology (defined within the PVU table by Processor Vendor, Brand, Type and Processor Model Number).

IBM continues to define a processor for purposes of PVU-based licensing to be each processor core on a chip. Each software Program has a specific price per PVU. IBM introduced PVUs in 2006 in order to better reflect the relative value a customer can receive when running a workload on any particular processor technology.

2. Are Processor Value Units transferable among servers?

Yes, Processor Value Units for the same program are fully transferable among servers within the enterprise. When transferring to a server with processor cores with a different PVU per core requirement, additional or fewer PVU licenses may be required. If additional PVU licenses are required, the customer must acquire additional PVU licenses for deployment to ensure compliance.

3. What is the part number structure for programs using the PVU metric?

The Passport Advantage part number structure of License plus 12 months of Software Subscription & Support (S&S), S&S renewal, S&S Reinstatement, and trade-up licenses (where offered) is consistent across PVU and Passport Advantage program offerings.

4. Why are some part numbers are only available in minimum order quantities of 10 PVU?

The prices of a few Processor Value Unit programs are so low that when using the quantity of 1 they would yield prices of less than one U.S. dollar. These products are also typically acquired in large numbers. Therefore, a 10 Processor Value Unit minimum was created for ease of ordering, billing, and administration.

5. What determines the required PVU entitlements for a Software license?

The required PVU entitlements for the middleware Software license are determined by the multiplication of (A) the PVU per core rating and (B) the total number of processor cores of the server on which the middleware is installed. For example, 2 cores * 70 PVU per core = 140 PVU.

(A) PVU per core rating

IBM’s PVU metric is used to differentiate the processor technology on which the middleware is installed. A PVU per processor core rating is assigned to each processor technology, as represented in the IBM PVU table for servers (for desktops, laptops and workstations, please refer to the assigned section in this FAQ).

A processor technology and the corresponding PVU per core rating are characterized by five attributes:

  1. Processor Vendor: AMD, HP, Fujitsu, IBM, Intel or Oracle, etc.
  2. Processor Brand: Itanium, Opteron, POWER6, Xeon, etc.
  3. Processor Type: One-core, Dual-core (two cores per socket), Quad-core, etc.
  4. Processor Socket: Maximum sockets possible on server.
  5. Processor Model Number: in some cases, such as for Intel Xeon chips, the processor model number is required as shown in the PVU Table.

(B) Total number of processor cores

The total number of processor cores is determined by the multiplication of all the processor chips (or sockets) on the server and the number of processor cores for eachchip (or socket).

For example, a two socket server with Intel Quad-core Xeon processor chips (i.e. four processor cores per chip) has a total of eight cores (two chips times four cores per chip). The PVU requirements for this server are 560 PVU: 70 PVU per core times 8 processor cores.

6. Does IBM continue to define a «processor» to be the processor «core»?

Yes. IBM always has and continues to define aprocessor to be the processor core. Customers are required to acquire software licenses for all activated processor cores available for use on the server. With Processor Value Unit (PVU) licensing, customers acquire PVU licenses based on the number and type of processor cores.

Often times the term «processor core» is referred to simply as a core.

7. How often is the PVU table updated?

The PVU table is periodically updated as new processor technologies become available. The date stamp at the bottom of the table indicates the day it was published.

8. What tools can I use to help determine the required PVU entitlements?

If you already know the processor model, you can just refer to the PVU Table. If you only know the server vendor and server model number, you can refer to the Guide to Identifying your Processor Technology. This guide shows the processor core families and the PVU assignments for the most popular servers commonly sold today. This guide is not intended to replace or substitute for the PVU Table, which is the official source of PVU per Core requirements for servers. It is intended to provide guidance when you know the server model, but you do not know the processor technology.

The Processor Value Unit calculator tool will help you compute the correct number of PVUs after asking you a series of questions.

9. What determines the required PVU per core rating for a laptop, desktop and workstation (per core requirement)?

For laptops, desktops and workstations with AMD or IntelВ® x86 processors, the PVUper core requirement is 100 PVU per core for all single-core processor technology and 50 PVU per core for all multi-core processor technology (e.g. Core 2 Duo) — except for multi-core IntelВ®Coreв„ў i3, i5, and i7 processor technologies which are 70 PVU per core.

10. Why is IBM using Processor Value Units?

In today’s environment where different processor core technologies can have significantly different workload performance characteristics, it has become important for IBM and other middleware vendors to reflect these performance differences in software licensing. For instance, a customer would need more relatively slower processor cores to run a particular workload than they would using faster processor cores. The price a customer pays should fairly represent the potential value they can receive from those systems, which comes from the amount of possible work the processor can perform.

IBM’s Processor Value Unit structure enables relative simplicity in software licensing in response to rapidly evolving hardware technologies. The two primary technology changes which created the impetus for PVU licensing were the widespread adoption of multi-core chip technology (multiple processor cores on a single silicon chip) and the evolution and increasingly widespread adoption of virtualization technologies. IBM’s PVU structure provides a foundation for middleware licensing which can adapt to these advances more easily. In addition, PVU licensing provides customers with increased licensing flexibility and granularity, and reduces the impact of software licensing on system design decisions.

11. How does IBM assign PVU per core requirements for new technology?

As IBM places new processor technologies in the Processor Value Unit structure, the key objective is to continue to deliver software price performance improvements. When assigning PVU per core requirements the relative processor performance is assessed using a number of different industry standard benchmarks. These benchmarks may include both transaction processing (e.g. TPC-C) and processor based (e.g.SPECint and SPECjbb) standard benchmarks. Market conditions and the desire to maintain a relatively simple structure are also factors influencing the assignment of Processor Value Units.

12. Are there license management tools available to assist customers in determining software entitlements?

Customers can use the IBM License Metric Tool (ILMT), which is free, to track their IBM program entitlements. Additionally, for a fee customers can substitute IBM BigFix Inventory which includes Tivoli Asset Discovery for DistributedВ as a supporting program and offers additional functions.

13. Is a compliance tool such as IBM License Metric Tool (ILMT) required?

Use of the IBM License Metric Tool (ILMT) is only required for sub-capacity licensing. For more information, please refer to the Sub-capacity FAQs.

14. Do I always have to license to the full capacity of the server?

No, you may be able to take advantage of subcapacity licensing if you satisfy the requirements. For more information, please, refer to the Sub-capacity FAQ.

OpenCL: запутался в CL_DEVICE_MAX_COMPUTE_UNITS

Я смущен этим CL_DEVICE_MAX_COMPUTE_UNITS. Например, мой Intel GPU на Mac, это число равно 48. Означает ли это, что максимальное число параллельных задач, выполняемых одновременно, равно 48 или кратно 48, возможно 96, 144. (Я знаю, что каждый вычислительный блок состоит из 1 или более элементов обработки, и каждый элемент обработки фактически отвечает за «thread». Что делать, если каждый из 48 вычислительных блоков состоит из более чем 1 обрабатывающего элемента). Другими словами, для моего Mac ускорение «ideal», хотя и невозможно в реальности, в 48 раз быстрее, чем ядро CPU (мы предполагаем, что одна скорость вычисления «core» CPU и GPU одинакова) или кратна 48, возможно 96, 144.

Резюме: ваше ускорение немного сложно, но ваша машина (Intel GPU, вероятно, GEN8 или GEN9) fp32 пропускная способность 768 FLOPs за (GPU) часы и 1536 для fp16. Предположим, fp32, так что что-то меньше, чем 768x (возможно, треть этого зависит от скорости CPU). Ниже приведены рассуждения и некоторые очень важные предостережения.

Быстрый в сторону на CL_DEVICE_MAX_COMPUTE_UNITS: Intel делает что-то шаткое, когда с CL_DEVICE_MAX_COMPUTE_UNITS с его драйвером GPU.

От clGetDeviceInfo (OpenCL 2.0). CL_DEVICE_MAX_COMPUTE_UNITS говорит

Число параллельных вычислительных блоков на устройстве OpenCL. Один рабочая группа выполняется на одном вычислительном устройстве. Минимальное значение — 1.

Однако графический драйвер Intel фактически не следует этому определению и вместо этого возвращает число EUs (исполнительные единицы) — — — группировка EU A SIMD ALUs и слотов для 7 различных потоков SIMD (регистров и чего нет). Каждый поток SIMD представляет 8, 16 или 32 рабочих элемента в зависимости от того, что выбирает компилятор (мы хотим выше, но давление регистра может заставить нас понизиться).

Рабочая группа фактически ограничена «Slice» (см. рисунок в разделе 5.5 «Slice Architecture» ), что происходит с be 24 EUs (в недавнем HW). Выберите документы GEN8 или GEN9. Каждый срез имеет свои собственные SLM, барьеры и L3. Учитывая, что ваша книга apple сообщает 48 EUs, я бы сказал, что у вас есть два куска.

Максимальное Ускорение: Давайте проигнорируем это главное раздражение и поработаем с номером EU (и из этих сводных документов выше). Для «speedup» я сравниваю однопоточный расчет FP32 на CPU. При хорошем распараллеливании и т. д. На CPU ускорение будет меньше, конечно.

Каждый из 48 EUs может выдавать две операции SIMD4 за часы в идеальных условиях. Предполагая, что они слиты умножить-добавить (так что на самом деле два ops), что дает нам:

Так что ваш идеальный ускорение на самом деле

768 . Но есть куча вещей, которые вписываются в это идеальное число.

  1. Время установки и демонтажа. Давайте проигнорируем это (предположим, что время WL доминирует во время выполнения).
  2. Часы GPU вращаются вокруг гигагерца, в то время как CPU работает быстрее. Учитывайте это соотношение. (грубо 1/3 может быть? 3 ГГц на CPU против 1 ГГц на GPU).
  3. Если вычисление не сильно умножается-добавляет «mads», делится на 2, так как я удвоил выше. Однако многие важные рабочие нагрузки являются «mad»-доминирующими.
  4. Исполнение в основном не расходится. Если поток SIMD разветвляется на if-then-else, то весь поток SIMD (8,16 или 32 workitems) должен выполнить этот код.
  5. Регистрация банковских коллизий задержки могут снизить пропускную способность ЕС ALU. Обычно компилятор делает большую работу, избегая этого, но теоретически он может немного сжевать вашу производительность (обычно несколько процентов в зависимости от давления регистра).
  6. Вычисление адреса буфера может также откусить несколько процентов (EU должен тратить время на целочисленные вычисления для чтения и записи адресов).
  7. Если вы используете слишком много SLM или барьеров, GPU должен оставить часть EU в режиме ожидания, чтобы было достаточно SLM для каждого рабочего элемента на машине. (Вы можете настроить свой алгоритм, чтобы исправить это.)
  8. Мы должны держать вычисление WL связанным. Если мы взорвем любой кэш в иерархии доступа к данным, мы столкнемся со сценариями, в которых поток не готов к запуску на EU и должен остановиться. Предположим, мы избежим этого. ?. Я, наверное, забываю и другие вещи, которые могут пойти не так.

Мы называем эффективность процентом теоретического совершенства. Таким образом, если наша рабочая нагрузка работает на уровне

530 FLOPs в сутки, то мы 60% эффективны из теоретических 768. Я видел, что очень тщательно настроенные рабочие нагрузки превышают эффективность 90%, но это определенно может занять некоторую работу.

Идеальное ускорение, которое вы можете получить, — это общее количество элементов обработки, которое в вашем случае соответствует 48 * числу элементов обработки на единицу вычисления. Я не знаю способа получить количество элементов обработки из OpenCL (это не значит, что это невозможно), однако вы можете просто погуглить его для вашего GPU.

Насколько мне известно, вычислительный блок состоит из одного или нескольких элементов обработки (для GPUs обычно много), файла регистра и некоторой локальной памяти. Потоки вычислительного блока выполняются в режиме SIMD (одна команда несколько данных). Это означает, что все потоки вычислительного блока выполняют одну и ту же операцию, но с разными данными.

Кроме того, ускорение, которое вы получаете, зависит от того, как вы выполняете функцию kernel. Поскольку одна рабочая группа не может работать на нескольких вычислительных единицах, вам нужно достаточное количество рабочих групп, чтобы полностью использовать все вычислительные единицы. Кроме того, размер рабочей группы должен быть кратен CL_KERNEL_PREFERRED_WORK_GROUP_SIZE_MULTIPLE.

Похожие вопросы:

С помощью OpenCL getDeviceInfo можно получить количество доступных вычислительных единиц (CL_DEVICE_MAX_COMPUTE_UNITS). На моем nVidia Geforce 8600GTS у меня есть 4 вычислительных блока с 8 ядрами.

Мне нужно ограничить количество вычислительных единиц, используемых моим приложением opencl. Я запускаю его на CPU, который имеет 8 вычислительных единиц, я видел, что с CL_DEVICE_MAX_COMPUTE_UNITS.

Поэтому я запускаю свою программу OpenCL на GeForce GT 610. Я знаю, что CUDA будет лучшей альтернативой, и я могу написать версию своего кода CUDA позже, однако знаю, что я пишу в OpenCL ради того.

Конфигурация моей рабочей станции: Intel (R) Xeon (R) CPU E5-2609 v2 @ 2.50GHz (x2) АМД FirePro w9100 с планируемым к выходу (Х2) Операционная система: Windows Server 2012 R2 Standard Я использую.

Я думаю, что это могут быть очень глупые вопросы, но я очень новичок в OpenCL и только что запустил его на своем настольном компьютере с GTX 760 GPU. Теперь, когда я запрашиваю OpenCL в.

В моем приложении я хочу отображать различные устройства OpenCL для пользователя. Я не могу решить, как я показываю количество ядер в устройстве. Это просто дает представление о том, сколько потоков.

У моего ноутбука есть видеокарта ATI Radeon 4500 и Intel (R) Core (TM) 2 Duo CPU P8700 2.53GHz as CPU. Когда я запрашиваю OpenCL для платформ, вывод выглядит следующим образом: Found 2 Platforms.

У меня возникли проблемы с использованием нескольких GPUs с OpenCL/OpenGL interop. Я пытаюсь написать приложение, которое отображает результат интенсивного вычисления. В конце концов он выполнит.

У меня есть видеокарта Nvidia (GeForce GT 640) на моей материнской плате. Я установил OpenCL на моем ящике. Когда я запрашиваю о платформе с помощью clGetPlatformInfo (параметры), я вижу следующий.

Я хотел бы получить обзор того, что такое ограничения устройства OpenCL для текущего GPUs от Nvidia и AMD. Я имею в виду информацию, которую можно запросить с помощью clGetDeviceInfo , особенно эти.

Читать еще:  Runtime broker что это за процесс
Ссылка на основную публикацию
Adblock
detector