Все цифры "Системных требований", приведенные кем угодно и где угодно на протяжении всей истории вычислительной техники, являются оценочными.
Система. Требования. Являются. Оценки. Это факт; это не подлежит обсуждению.
В силу того, что системные требования являются оценочными, во многих случаях возможно проектировать системы (комбинации программного и аппаратного обеспечения) так, чтобы:
- Системы, которые не отвечают "минимальным" требованиям, тем не менее работают правильно; ИЛИ ЖЕ
- Системы, которые лучше или превышают "рекомендуемые" требования, тем не менее , работают неправильно.
Возникает вопрос: есть ли у вас условия окружающей среды (исключительно необычная конфигурация аппаратного или программного обеспечения), которая бы вывела ваш вариант использования за пределы обычных мер, на которых основаны оценки системных требований?
Ваш первоначальный вопрос не предоставил почти достаточно подробностей, чтобы ответить на этот вопрос, но теперь, когда вы отредактировали его несколько раз и предоставили много комментариев, кажется, что ваш вариант использования может быть достаточно особым, чтобы ответ мог быть "да", и что Вы могли бы уйти с 512 МБ оперативной памяти.
Без конкретных подробностей, которые вы указали в своих многочисленных комментариях и изменениях, существует общая мудрость, которая применима к обычным пользователям, которыми я обычно делюсь с людьми, чтобы быть в безопасности и избегать предоставления людям плохих советов, а затем заставлять их возвращаться. и сказать "ты сказал, что это будет работать, но это не так !!!!111oneoneone ":
Поскольку сами Nvidia говорят, что для использования их карты требуется как минимум 1 ГБ системной оперативной памяти, я думаю, что для любого члена сообщества здесь безответственно и нецелесообразно давать вам какие-либо советы, кроме следующих:
Если поставщик оборудования говорит, что вам нужно 1 ГБ, вам нужен 1 ГБ. Период.Конец истории.
Эта "общая мудрость", конечно, предназначена для обычных пользователей, которые, вероятно, собираются установить операционную систему, такую как Windows 7 или Ubuntu 13.10 или Mac OS X Mavericks, операционные системы с очень значительным объемом оперативной памяти, не говоря уже о требований графического драйвера Nvidia. Но, как и все оценки, он основан на предположениях, которые могут не соответствовать действительности для вас.
Причина, по которой Nvidia выделила 1 ГБ, вероятно, заключается в том, что они предполагают, что вы собираетесь установить их проприетарный графический драйвер (который также потребуется для GPGPU, я добавлю), который занимает значительное место из-за его чрезвычайной сложности. Есть приложение панели управления, драйвер на стороне ядра, драйвер пользовательского пространства, интеграция с операционной системой, и драйвер даже выделяет нетривиальный объем пространства в каждом пользовательском процессе, который запрашивает возможности графического процессора. Это относится не только к "графическим" программам, но и ко всему, что использует графический процессор (OpenCL, CUDA, DirectCompute и т.д.), Поскольку команды графического процессора ставятся в очередь, а затем пакетный буфер передается в графический процессор. Для постановки в очередь команд (и связанных с ними данных) требуется ненулевой объем ОЗУ для хранения команд, пока они находятся в очереди.
Конечно, если вы рассматриваете карту как стандартную "тупую" карту VGA без каких-либо возможностей графического процессора, я уверен, что вы можете использовать этот аспект карты без 1 ГБ ОЗУ. Но на самом деле коробка говорит о том, что для того, чтобы воспользоваться преимуществами собственного графического стека Nvidia в типичной операционной системе с типичной загрузкой программы, вам потребуется как минимум столько оперативной памяти.
Минимум означает, что использование меньшего, чем это, вероятно, приведет к нестабильности системы или вообще не будет работать, исходя из предположений, которые сделал Nvidia при оценке системных требований (опять же, типичная ОС, типичная загрузка программы).
Вы могли бы побудить кого-то здесь сказать вам, что вы могли бы обойтись с меньшими затратами, но если кто-то на самом деле не протестировал эту конкретную видеокарту с ровно 512 МБ ОЗУ, используя ту загрузку операционной системы и программы пользовательского пространства, которую вы намереваетесь использовать и обнаружил, что он работает нормально, я бы не поверил им.
Учитывая, что современные операционные системы часто даже не устанавливаются, если у вас нет 1 ГБ ОЗУ, и что любая система, изначально настроенная на 512 МБ ОЗУ, скорее всего настолько старая, что не может даже установить карту PCI-E 2.0 вероятность того, что вы создадите рабочую конфигурацию с этим крайне низким объемом ОЗУ и этим графическим процессором, будет крайне мала, если только:
- Вы устанавливаете абсолютную базовую операционную систему;
- Вы используете рабочие нагрузки GPGPU с очень специфической рабочей нагрузкой, для которой не требуется высокая поддерживаемая пропускная способность ЦП или ГП или очень большой набор данных (который в идеале должен храниться в (большом количестве) ОЗУ, а не на диске или в сети);
- Вы используете существенно низкоуровневый графический процессор, так как его основная производительность настолько низка, что он не получит значительного преимущества от подключения слота PCI-E 2.0 x16 полной ширины, подключенного к выделенной системной шине точка-точка к ЦП;
- Программы, которые вы пишете (или загружаете и устанавливаете), которые используют GPU, не кодируются таким образом, чтобы выделять очень большие буферы данных при взаимодействии с GPU, а также не заставляют графический драйвер Nvidia выделять такие большие буферы;
- Результаты вычислений, выполненных на графическом процессоре, могут быть эффективно обработаны до гораздо меньшего набора данных (процессором), который затем может быть перенесен из встроенной системы по высокоскоростной восходящей линии Ethernet.
Если ваша рабочая нагрузка не удовлетворяет этим условиям, тогда это действительно проигрышное предложение.
(Немного отступление)
Хорошо, но кажется, что вы очень заинтересованы в GPGPU на небольших встроенных устройствах. Я думаю, что вы кое-что здесь, но вы определенно не собираетесь выполнять какую-либо значительную работу, используя Arduino или Raspberry Pi в их текущих итерациях. Вот что я могу увидеть:
- Более современные четырехъядерные (или лучшие) чипы ARM выпускаются с поддержкой 64-бит (ARM64).
- Драйвер Nvidia начинает поддерживать ARM64 в GNU/Linux.
- Встроенные ARM SoC становятся доступными с 4 ГБ ОЗУ LP-DDR3 или более, а также с доступом к быстрому флеш-хранилищу и полноразмерному слоту PCI-E.
Из этой аппаратной платформы (которая далека от того, что вы предложили в своем OP), я мог видеть, что GPGPU незначительно жизнеспособен в этих системах, хотя в этой конфигурации вы, вероятно, будете "голодать" GPU (не используя его на 100%) тем не менее, поскольку производительность системной памяти и системная шина являются ограничивающим фактором, так что было бы гораздо более выгодно покупать меньше высокопроизводительных систем на базе x86-64 с более быстрой платформой.
Сравните эти гипотетические характеристики:
GeForce GT640
Четырехъядерный процессор ARM64 Cortex-A57 с частотой ~ 2 ГГц FSB (IP-соединение ARM?)
4 ГБ ОЗУ LP-DDR3
128 ГБ mSATA SSD
против
GeForce GTX TITAN (или Tesla)
Core i7-4770K (или эквивалент Xeon) с DMI 2.0 (канал 20 Гбит / с между процессором и PCH)
32 ГБ памяти DDR3-1600
128 ГБ 2,5 "SATA 6 Гбит / с SSD
Вопрос состоит в том, сколько ARM-систем вам понадобится, чтобы соответствовать производительности системы x86-64. По всей вероятности, огромное количество ARM-систем, которое вам понадобится для эквивалентной производительности, может повлиять на шкалу производительности на ватт в пользу системы x86-64. Это связано с тем, что вам нужен отдельный блок питания, отдельная материнская плата, отдельный контроллер Ethernet, отдельные микросхемы ОЗУ и т.д. Для каждого логического блока ARM, в то время как в системе x86-64 вам нужен только один централизованный концентратор контроллера платформы с очень высокой пропускной способностью и все еще очень эффективный TDP (часто около 65 Вт для процессора). Более широкие шины и межсоединения точка-точка означают, что графический процессор будет голодать только в том случае, если ваш код неэффективен, но должно быть довольно легко написать код, который полностью использует графический процессор.