LINUX.ORG.RU
ФорумTalks

Ядро на GPU


0

0

Исследователи из университета Юты представили проект KGPU, в рамках которого разработан способ перенести исполнение частей кода ядра Linux на графический процессор, поддерживающий технологию NVIDIA CUDA. Код KGPU распространяется в рамках лицензии GPLv2.

NSK или Non-Stop Kernel представляет собой код, исполняемый на GPU и способный загружать дополнительные модули (сервисы в терминологии KGPU), каждый из которых может выполнять определенный вид работы по обработке данных. NSK принимает запросы, загружает сервис (для повышения производительности он может быть загружен заранее) и отдает ему данные, ожидая результатов исполнения, которые затем будут переданы обратно по цепочке модулю ядра. Для передачи данных между компонентами системы используется коммуникационный протокол, реализованный с помощью быстрой pinned-памяти, выделяемой драйвером CUDA.

Такая архитектура позволяет перенести фрагменты кода ядра на графический процессор просто переписав их в виде NSK-сервисов. В подтверждение авторы KGPU создали реализацию алгоритма AES, которая позволила поднять скорость шифрования файловой системы eCryptfs в 6 раз.

картиночки ---> http://code.google.com/p/kgpu/wiki/IozoneBenchmarkResults
хомпага ---> http://code.google.com/p/kgpu/

/////тупой копипаст с опеннета

★★★★

Ответ на: комментарий от megabaks

Еще были самсунги или асеры какие-то, сейчас точно не вспомню. Смотрел недавно low-end сегмент, тоже сильно удивлялся. Хотя во времена 486 у них были очень приличные графические карты.

pekmop1024 ★★★★★
()
Ответ на: комментарий от megabaks

А что, с качеством реализации OpenCL на ати, есть какие-то серьёзные проблемы?
Да даже если и есть, то втрое большая скорость в крипто делает оптимизацию под неё вполне осмысленной.

JustGuest
()
Ответ на: комментарий от Loki13

Вот и выходит, что куда это только 25% железа всего лишь

Да, а точнее, на текущий момент это только 20%.

JustGuest
()

Боян опеннетовский. Я вчера успел в ночь что-то такое накидать быстренько:

cat /usr/local/portage/sys-kernel/kgpu/kgpu-9999.ebuild
# Copyright 1999-2010 Gentoo Foundation
# Distributed under the terms of the GNU General Public License v2

ETYPE=«sources»

inherit git eutils multilib versionator linux-mod flag-o-matic

DESCRIPTION=«Kgpu module»
HOMEPAGE="https://github.com/wbsun/kgpu"
EGIT_REPO_URI="https://github.com/wbsun/kgpu.git"
SLOT=«0»
KEYWORDS=«~amd64 ~x86»
IUSE=«»
DEPEND=«dev-util/nvidia-cuda-toolkit»

src_compile() {
set_arch_to_kernel
for md in kgpu services/gaes/{gaes_ecb,libsrv_gaes,ecryptfs}; do
cd ${md} || die «cd ${md} failed»
emake LINUXDIR=«${KERNEL_DIR}» all || die «make ${md} failed»
cd -
done
}

src_install() {
insinto /etc/udev/rules.d/
doins ${FILESDIR}/*.rules
insinto /lib/modules/${KV_FULL}/${PN}
doins {kgpu,services/gaes/gaes_ecb,services/gaes/ecryptfs}/*.ko
DESTTREE=«/»
dosbin kgpu/helper
dosbin ${FILESDIR}/kgpu
dolib.so services/gaes/libsrv_gaes/*.so
}

Lumi ★★★★★
()
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.