Использование eGPU с мини-ПК

Популярность мини-ПК возросла отчасти из-за их небольшого форм-фактора, предлагающего базовые вычисления с низким энергопотреблением и достаточным количеством портов для подключения. Как таковые, они полезны как в коммерческих целях, например, в цифровых вывесках, так и для потребителей, которым нужен недорогой компьютер с компактной установкой или VESA. Однако одним из недостатков является их ограниченная графическая производительность из-за использования ЦП со встроенной графикой, что приводит к тому, что возможности игр весьма ограничены, а игры «AAA» обычно не воспроизводятся.

Ноутбуки с более низкой ценой часто имеют тот же недостаток, и один из способов, которым пользователи удовлетворяют свои графические потребности, – это использование внешнего графического процессора (eGPU), однако коммерчески доступные ноутбуки являются дорогими и требуют подключения через порт Thunderbolt 3.

К сожалению, не многие мини-ПК китайского производства в настоящее время имеют порт Thunderbolt 3. Однако теперь, когда они начали включать порты M.2 NVMe, это создало возможность добавления графического процессора с использованием адаптера PCIe x16 to M.2 NVMe.

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

Вариант конфигурации

Основное требование – использовать стандартную видеокарту с интерфейсом PCIe x16. Коммерческий eGPU – это, по сути, прославленный «адаптер PCIe x16 – Thunderbolt 3». Это может быть эффективно воспроизведено с помощью «адаптера PCIe x16 – M.2 NVMe» в сочетании с «адаптером Thunderbolt 3 – M.2 NVMe» и подходит для любого ПК с портом Thunderbolt 3.

Однако, если мини-ПК не имеет необходимого порта Thunderbolt 3, но имеет слот M.2 NVMe, адаптер PCIe можно использовать вместо твердотельного накопителя NVMe, который занимает слот M.2 NVMe. Если больше нет доступного внутреннего хранилища, становится необходимым использовать внешнее хранилище, например, «адаптер USB-M.2 NVMe» для повторного использования NVMe SSD, который был заменен адаптером PCIe.

Итак, пока мини-ПК имеет слот M.2 NVMe, есть несколько вариантов подключения графического процессора:

  1. Если мини-ПК имеет порт Thunderbolt 3
    • Используйте графический процессор в «eGPU», подключенном через порт Thunderbolt 3, или
    • Используйте графический процессор в адаптере «PCIe x16 – M.2 NVMe», установленном в «адаптере Thunderbolt 3 – M.2 NVMe», подключенном через порт Thunderbolt 3 или
    • Используйте графический процессор в адаптере PCIe x16 to M.2 NVMe, установленном в слот M.2 NVMe, и либо повторно используйте NVMe SSD, установив его в адаптер Thunderbolt 3 to M.2 NVMe, подключенный через порт Thunderbolt 3 или повторно используйте NVMe SSD, установив его в адаптер USB-M.2 NVMe, подключенный через порт USB, или используйте внешнее хранилище, подключенное через порт USB.
  2. Если нет порта Thunderbolt 3:
    • Используйте графический процессор в адаптере PCIe x16 to M.2 NVMe, установленном в слот M.2 NVMe, и либо повторно используйте твердотельный накопитель NVMe, установив его в адаптер USB to M.2 NVMe, подключенный через порт USB, либо используйте внешнее хранилище, подключенное через порт USB

Технические моменты

Не вдаваясь в подробности, краткое объяснение базовой технологии полезно для понимания того, почему это влияет на производительность.

В настольном ПК дискретная видеокарта обычно использует слот PCIe x16 Gen 3 на материнской плате, и хотя слоты Gen 4 становятся доступными, они не обязательны для игр. Интерфейс PCIe Gen 3 имеет скорость передачи данных 8 гигатрансфер в секунду (GT / s), но пропускная способность уменьшается на 2/130 процентов, поскольку он использует схему кодирования. Таким образом, интерфейс PCIe x16 может обеспечивать скорость (8 ГТ / с * 16) – 2/130% или 15,7538 ГБ / с, тогда как интерфейс PCIe x4 поддерживает только 3,938 ГБ / с. В зависимости от того, как слот PCIe подключен к ЦП, при подключении видеокарты в слот x4 может наблюдаться небольшая дополнительная потеря производительности по сравнению с использованием слота x16 из-за того, подключен ли слот напрямую к процессору или через набор микросхем. TechPowerUp дважды в год тестирует эффект масштабирования PCIe на современных видеокартах высокого класса, и некоторые примеры потерь при разрешении 1920 × 1080 включают переход GTX 1080 с x16 на x4 PCIe через процессор, что приводит к потере 4% или для PCIe через чипсет потеря составляет 8%, для RTX 2080 Ti при переходе от x16 к x4 потеря составляет 9%, а для RTX 3080 при переходе от x16 к x4 (представлен x16 Gen 1.1) потеря составляет 13%. Поэтому, к сожалению для пользователей мини-ПК, видеокарта, подключенная через PCIe x4, потеряет некоторую производительность по сравнению с производительностью, на которую она способна при подключении через PCIe x16.

Также может показаться, что Thunderbolt 3, который продается как обеспечивающий 40 Гбит/с внешней пропускной способности ввода-вывода, будет предлагать достаточную пропускную способность для подключения графического процессора. Однако это максимальная пропускная способность, которая рассчитывается с учетом вывода на дисплей. Intel заявляет, что максимальная скорость передачи данных в одном направлении для Thunderbolt 3 составляет 22 Гбит / с (PDF), и это достигается за счет использования четырех линий PCIe Gen 3, работающих со скоростью 4*8 Гбит/с или 32 Гбит/с, из которых она резервирует 10 Гбит/с для гарантии типа C USB 3.2 Gen 2 × 1 в комплекте. Следовательно, передача данных через Thunderbolt 3 способна только ((8 ГТ/с * 4) – 10 Гбит/с) – 2/130% или 2,708 ГБ/с. Результирующая более низкая пропускная способность (3,938 ГБ / с для PCIe x4 против 2,708 ГБ / с для Thunderbolt 3) означает, что при подключении графического процессора через Thunderbolt 3 произойдет дальнейшая потеря графической производительности.

Кроме того, не все производители реализуют полную скорость x4 PCIe на своих портах Thunderbolt 3, а вместо этого используют только минимум x2. Кроме того, нет никакой гарантии, что BIOS устройства может распознать eGPU, подключенный через Thunderbolt 3, как в случае с Minisforum X35G, и так же, как и в случае с ноутбуками, с мини-ПК «осторожным покупателем».

Кроме того, Thunderbolt 3 работает через набор микросхем, а не напрямую связан с процессором, и на обоих концах кабеля есть контроллер Thunderbolt 3, что приводит к задержке, вызванной набором микросхем, контроллерами Thunderbolt 3 и длиной кабеля. Существует два типа кабеля Thunderbolt 3: пассивный и активный. Длина кабеля от 0,5 до 0,8 метра поддерживает максимальную скорость передачи данных 40 Гбит/с и обычно является «пассивной». Кабели большей длины (до 2 метров) поддерживают только максимальную скорость передачи данных 20 Гбит/с, если только они не являются «активными» кабелями, что означает, что они содержат дополнительные схемы в своих разъемах, необходимые для достижения максимальной скорости 40 Гбит/с.

Также стоит отметить, что порты USB могут иметь разную скорость передачи данных и скорость передачи, например, порт USB 3.2 Gen 2 × 1 имеет скорость передачи данных 10 Гбит/с и скорость передачи 1,21 ГБ/с.

Наконец, производительность графического процессора зависит от многих переменных, таких как архитектура и мощность графического процессора и процессора, объем графической памяти и ширина шины памяти, тактовые частоты и запускаемое приложение / игра. Упрощенно CPU должен обработать данные, прежде чем они могут быть переданы в GPU, который затем будет выполнять работу по рендерингу кадров. Если ЦП не может обрабатывать данные достаточно быстро, ГП независимо от мощности всегда будет ждать, пока ЦП создаст ситуацию, известную как «узкое место ЦП» или «привязка ЦП». Снижение производительности для игр также может пропорционально ухудшиться при использовании более мощной видеокарты, поскольку для достижения более высокого количества кадров в секунду требуется большая пропускная способность, потому что необходимо передать больше данных, что с большей вероятностью будет зависеть от выявленных ограничений пропускной способности.

В этом обзоре проведенное тестирование сосредоточено на потере производительности между eGPU, подключенным через слот M.2 NVMe, по сравнению с подключением через порт Thunderbolt 3, и не включает тестирование каких-либо потерь при сравнении eGPU с dGPU.

Обзор оборудования

Мини-ПК, который использовался для большей части тестирования – это i3 Intel NUC 8 Bean Canyon или NUC8i3BEK:

Он был выбран из-за его маломощного процессора Intel Core i3-8109U с iGPU, порта Thunderbolt 3, слота M.2 NVMe и некоторых портов USB 3.2 Gen 2 × 1. Кроме того, в настоящее время он доступен по невероятно низкой цене – 299 австралийских долларов (или около 210 долларов США плюс налог). Устройство было сконфигурировано с 16 ГБ (2 x 8 ГБ) памяти G.SKILL Ripjaws DDR4 2400 МГц и SSD Kingston A2000 1 ТБ NVMe.

В качестве примера «eGPU» мы использовали ASUS XG Station Pro, который представляет собой док-станцию Thunderbolt 3 eGPU с прилагаемым 1,5-метровым активным кабелем Thunderbolt 3:

для «адаптера PCIe x16 – M.2 NVMe» мы использовали ADT-Link’s R43SG:

Это лучшее соотношение цены и качества, чем просто базовый «адаптер PCIe x16 – M.2 NVMe», поскольку он включает подставку для графического процессора вместе со всеми необходимыми разъемами питания. Также требуется дополнительный блок питания, который может быть либо стандартным блоком питания, либо блоком питания DELL DA-2 8PIN 12В/18А/220Вт (он же Dell D220P-01), который можно дешево купить подержанным:

Мы использовали источник питания d220p-01 для подключения R43SG через Thunderbolt 3 в корпусе JEYI Thunderbolt 3 M.2 NVMe («адаптер Thunderbolt 3 – M.2 NVMe»), поскольку он поддерживает двусторонние твердотельные накопители в отличие от адаптеров некоторых конкурентов:

Мы также использовали корпус ORICO M2PAC3-G20 M.2 NVMe SSD (в качестве «адаптера USB-M.2 NVMe»):

Он поддерживает до USB 3.2 Gen 2 × 2, то есть 20 Гбит/с, и включает в себя кабель USB Type-C – Type-C и кабель USB Type-A – Type-C. Технически мы могли бы использовать модель M2PV-C3 со скоростью 10 Гбит/с или аналогичную, поскольку еще не многие мини-ПК поддерживают USB 3.2 Gen 2 × 2.

Наконец, во время тестирования мы также использовали пару «адаптеров M.2 NVMe – PCIe x4»: адаптер EZDIY-FAB NVMe PCIe с радиатором:

и адаптер RIITOP PCIe 3.0 x4 / x8 / x16 на M.2 PCIe NVMe с радиатором

Обзор программного обеспечения

Для тестирования производительности NVMe SSD мы использовали CrystalDiskMark:

Для тестирования производительности графического процессора использовался Fire Strike от 3DMark:

и Unigine Heaven:

Для проверки игровой производительности использовался Shadow of the Tomb Raider (SOTTR), поскольку, хотя это довольно требовательная игра с интенсивным использованием процессора, она включает в себя повторяемый тест с предустановками графики:

Чтобы убедиться, что кабели Thunderbolt 3 работают на полной скорости (т.е. 40 Гбит/с), мы использовали CUDA-Z:

А также использовался MSI Afterburner/Rivatuner для сбора данных об использовании процессора, графического процессора и частоте кадров, которые затем обрабатывались в электронной таблице.

Проведено тестирование

Прежде всего, мини-ПК NUC8i3BEK был протестирован без eGPU, чтобы получить набор базовых результатов:

КонфигурацииCDM Seq ReadCDM Seq WriteFirestrike Score Firestrike Graphics HeavenSOTTR LowSOTTR MediumSOTTR High
Исходные значения NUC и iGPU с NVMe через M.21846.11



2095.821767193219.61088

Затем в XG Station Pro установили GTX 1650 Super и подключили с помощью кабеля Thunderbolt 3 к мини-ПК NUC8i3BEK, при этом тесты повторяются, чтобы получить базовый уровень с 1650 Super:

КонфигурацииCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
1650 Super в eGPU через TB с NVMe via M.21818.91

2091.7477421014898.9655847

Первое исследование заключалось в том, чтобы выяснить, может ли «DIY eGPU», состоящий из адаптера R43SG в сочетании с адаптером JEYI, воспроизвести коммерческий eGPU без потери производительности:

КонфигурацииCDM Seq ReadCDM Seq WriteFirestrike Score
Firestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR
High
1650 Super в R43SG через TB (JEYI) с NVMe через M.21846.82

2085.3476931009298.1655847

Результаты очень похожи и находятся в пределах дисперсии тестирования, что указывает на возможную альтернативу eGPU.

Затем, прежде чем исследовать размер потерь при использовании Thunderbolt 3 для подключения eGPU, были выполнены некоторые дополнительные проверочные тесты. Сначала твердотельный накопитель NVMe был перемещен в R43SG, установив его в адаптер EZDIY-FAB, а R43SG – в слот M.2 NVMe. Это показывает, что R43SG не приводит к потере производительности по сравнению с исходной базовой линией.

КонфигурацииCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
iGPU с R43SG+EZDIY-FAB+NVMe через M.21826.782091.471764193419.71088

Однако после того, как R43SG с EZDIY-FAB и твердотельным накопителем NVMe будет установлен в JEYI и подключен через Thunderbolt 3, результаты показывают, что, хотя графическая производительность iGPU остается прежней, видно падение на 29% «Последовательного чтения» и 41% падение «Последовательной записи»:

КонфигурацииCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
iGPU с R43SG+EZDIY-FAB+NVMe через TB (JEYI)1289.051230.791769194219.71088

что подтверждается, если просто установить твердотельный накопитель NVMe в JEYI:

КонфигурацииCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
iGPU с NVMe через TB (JEYI)1293.921229.931763193219.41088

Падение скорости чтения/записи было очевидно, исходя из технического объяснения выше, однако наблюдаемая величина на самом деле не отражает потери от использования одного только Thunderbolt 3, как будет обсуждаться ниже.

Наконец, сохранение твердотельного накопителя NVMe в JEYI и установка R43SG в слот M.2 NVMe с GTX 1650 Super показывает примерно 10% улучшение графики (на основе результатов Firestrike Graphics и Heaven) при прямом подключении графического процессора к R32SG. через PCIe или около 9% потери графики при подключении через Thunderbolt 3:

КонфигурацияCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
1650 Super в R43SG через M.2 с NVMe через TB (JEYI)1297.921230.51828711306107.4736557

Это увеличение/уменьшение графической производительности также может быть подтверждено путем полного удаления Thunderbolt 3 путем установки твердотельного накопителя NVMe в ORICO, подключенном через USB, что также является типичной конфигурацией, которую можно использовать для мини-ПК без порта Thunderbolt 3:

КрнфигурацияCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
1650 Super в R43SG через M.2 с NVMe через USB (ORICO)1042.74902.10826311326108.4736558

Очевидно, что производительность чтения/записи еще больше ухудшается из-за ограничений полосы пропускания при использовании интерфейса USB.

Более подробный анализ производительности графического процессора при запуске тестов SOTTR показывает узкие места как в центральном, так и в графическом процессоре:

Итак, обновив графический процессор до RTX 2060 и, следовательно, потенциально увеличив объем данных, передаваемых на графический процессор, каково влияние использования Thunderbolt 3?

Во-первых, можно получить новую базовую линию для R43SG и RTX 2060, установленных в слот M.2 NVMe, и с твердотельным накопителем NVMe, установленным в JEYI, подключенным через Thunderbolt 3:

КонфигурацияCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
2060 in R43SG via M.2 with NVMe via TB (JEYI)1301.641231.801067718407197747170

Теперь сравним с RTX 2060, установленным в XG Station Pro и подключенным через Thunderbolt 3:

КонфигурацияCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
2060 в eGPU через TB с NVMe через M.21806.222096.69992115856174.0666362

или с R43SG и RTX 2060, установленными в адаптере JEYI и подключенными через Thunderbolt 3:

КонфигурацияCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
2060 в R43SG через TB (JEYI) с NVMe через M.21861.912089.03989015708173.8666463

Представленная таблица показывает прогнозируемое небольшое увеличение графических потерь из-за дополнительных данных около 12% при подключении eGPU или R32SG через Thunderbolt 3 или, альтернативно, около 14% графического улучшения при прямом подключении графического процессора к R32SG через PCIe.

Узкое место ЦП можно четко увидеть во время теста SOTTR:

Когда R43SG и RTX 2060 установлены в слот M.2 NVMe гораздо более мощного мини-ПК NUC7i7DNHE, твердотельный накопитель NVMe которого перемещен в ORICO из-за отсутствия порта Thunderbolt 3:

КонфигурацияCDM Seq ReadCDM Seq WriteFirestrike ScoreFirestrike GraphicsHeavenSOTTR LowSOTTR MediumSOTTR High
Быстрый NUC и 2060 в R43SG через M.2 с NVMe через USB (ORICO)462.47449.891428418566204.7979190

Таблица показывает, что графический процессор снова стал узким местом:

Как упоминалось ранее, снижение скорости чтения/записи, наблюдаемое при использовании адаптера JEYI, связано не только с Thunderbolt 3. Существуют различные отчеты об изменении производительности «адаптеров Thunderbolt 3 – M.2 NVMe» из-за типа используемого контроллера с помощью твердотельного накопителя NVMe, в результате чего некоторые марки твердотельных накопителей работают лучше, чем другие.

Чтобы проверить это, мы протестировали новый SSD-накопитель NVMe емкостью 2 ТБ с дополнительным каналом, для которого заявлено «Последовательное чтение» 3500 МБ/с и «Последовательная запись» 3000 МБ/ с. Сначала несколько базовых тестов:

КонфигурацияCDM Seq ReadCDM Seq Read
Addlink через M.2 с NVMe через TB (JEYI)3280.132993.68
R43SG+EZDIY-FAB+Addlink через M.2 с NVMe через TB (JEYI)3266.573004.37
Addlink через M.2 с NVMe через USB (ORICO)3271.443000.39

Как отражено в таблице, средний показатель «последовательного чтения» 3276 МБ/с и «последовательной записи» 2 997 МБ/с.
Повторные тесты связаны с различными комбинациями с использованием Thunderbolt 3:

КонфигурацияCDM Seq ReadCDM Seq Read
RIITOP+Addlink в eGPU через TB с NVMe через M.22661.171914.25
R43SG+EZDIY-FAB+Addlink через TB (JEYI) с NVMe via M.22663.301932.78
Addlink через TB (JEYI) с NVMeчерез M.22663.171965.04
Addlink через TB (JEYI) с NVMe через USB (ORICO)2663.881981.75

Таблица отражает падение производительности всего на 19% при среднем «последовательном чтении» 2663 МБ/с и падении на 35% для «последовательной записи» до 1948 МБ/с, что указывает на то, в случае чтения канал Thunderbolt 3 достигает теоретического максимума.

Для сравнения, падение производительности SSD Kingston 1 ТБ NVMe, упомянутое ранее, было измерено после того, как SSD использовался для нескольких тестов производительности, и выравнивание износа снизило скорость по сравнению с объявленными “последовательным чтением” на 2200 МБ/с и “последовательной записью” 2000 МБ/с. Лучшее сравнение – посмотреть на результаты, когда проводились тесты, когда SSD был новым:

КонфигурацииCDM Seq ReadCDM Seq Write
NVMe через M.22205.012166.21
NVMe черезTB (JEYI)1299.971250.21

Это показывает гораздо большее падение на 41% для «Последовательного чтения» и на 42% для «Последовательной записи» и указывает на то, что SSD-накопитель Addlink имеет пропорционально меньшее падение производительности с адаптером JEYI, чем SSD-накопитель Kingston.

Во время тестирования, чтобы исключить любые отклонения, связанные с кабелем Thunderbolt 3, мы использовали кабель JEYI, который является «пассивным» кабелем. Однако отдельно мы также провели несколько сравнительных тестов с использованием «активного» кабеля Thunderbolt 3, но не обнаружили существенных различий.

Дополнительный анализ

Сравнение результатов представлено в следующей таблице:

В частности, если посмотреть только на графическую производительность (на основе результатов Firestrike Graphics и Heaven), ясно видно влияние подключения через Thunderbolt 3:

Если посмотреть только на тесты SOTTR, можно увидеть влияние процессора на производительность графики. При «низком» показателе графики обновление графического процессора не влияет на среднее число количества кадров в секунду, потому что, как было показано ранее, маломощный процессор является узким местом. Интересно, что когда 1650 Super подключен через PCIe, он лучше, чем 2060, подключенный через Thunderbolt 3:

На скорость чтения/записи SSD в значительной степени может повлиять способ подключения SSD. Как отмечалось выше, это также может повлиять на игровой процесс, поскольку время загрузки будет варьироваться в зависимости от интерфейса:

Заключение

Одним из преимуществ любого решения eGPU, учитывая редкость видеокарт в настоящее время, является возможность совместного использования графического процессора системами (и/или пользователями).

Скорее всего, порты на мини-ПК будут определять, как именно можно настроить eGPU, однако использование eGPU, подключенного через порт Thunderbolt 3, выглядит более аккуратно, чем при подключении через PCIe, но связано с потерей графической производительности примерно на 10%. Кроме того, желательно использовать корпус eGPU, поскольку лопасти вентилятора графического процессора не открыты. Однако коммерческие eGPU дороги и могут быть довольно большими, тогда как «DIY eGPU» предлагают такую ​​же производительность при гораздо более низкой стоимости.

Если вы нацелены использовать адаптер, такой как R43SG, в слоте M.2 NVMe для наилучшей графической производительности, рассмотрите влияние адаптера Thunderbolt 3 на M.2 NVMe на скорость SSD по сравнению с более дешевым вариантом использования адаптера “USB на M. 2 NVMe”.

При использовании маломощного ЦП, типичного для мини-ПК, важно не перегружать используемый графический процессор, поскольку его потенциал, скорее всего, не будет полностью использован из-за «ограничений ЦП».

Наконец, имейте в виду, что при загрузке непосредственно из eGPU вы можете столкнуться с пустым экраном. Это связано с тем, что изначально iGPU может быть активным только тогда, когда не активен eGPU и до тех пор, пока не запустится рабочий стол, если он используется основным дисплеем. Возможно, вам потребуется нажать клавишу пробела, а затем ввести пароль Windows, чтобы рабочий стол запустился, или просто «горячей» заменой кабеля HDMI от мини-ПК к eGPU после загрузки, если это необходимо. Отключение iGPU может привести к лишению дисплея, если eGPU выйдет из строя или будет полностью удален.

Выражаем свою благодарность источнику из которого взята и переведена статья, сайту cnx-software.com.

Оригинал статьи вы можете прочитать здесь.

0 0 votes
Article Rating
Подписаться
Уведомление о
guest

Этот сайт использует Akismet для борьбы со спамом. Узнайте, как обрабатываются ваши данные комментариев.

0 Комментарий
Inline Feedbacks
View all comments