Вы не упомянули, какую информацию вы хотите получить, но Linux переделал команду pmap
из Solaris. Она не выводит точно такую же информацию, но результат сопоставим. Возможно, вы захотите проверить, реализовано ли в Linux больше различных команд p* из Solaris. Интересная psig
не поддерживается в Linux.
По соображениям безопасности, специфическая информация в UNIX доступна только самому процессу, а то, что находится за его пределами, ограничено и обычно только для ps
и подобных программ.
Обратите внимание, что общая философия UNIX заключалась в предоставлении специальной информации через функцию ioctl()
, именно так работал /proc
в его первой реализации в конце 1980-х годов. Каждый процесс представлял собой файл в /proc, и только иоктлы работали с этим файлом. Обратите внимание, что до появления /proc пользователи UNIX были вынуждены свободно читать память ядра для получения специальной информации, а так как блокировок не было, это могло привести к сбоям, когда, например, связанный процесс умирал или вытеснялся.
В 1980 году UNOS - первый клон UNIX - реализовал вызов getpsinfo() для команды ps. /proc
можно рассматривать как лучшую реализацию абстрактного представления.
Примерно в середине 1990-х годов procfs-2 определил процесс как каталог, файлы внутри которого позволяют читать сложные двоичные данные (например, для /proc/
файл адресного пространства). Другие файлы внутри этого каталога содержат структурированные двоичные данные (определенные c stuctures), которые могут быть read()
(например, /proc/
для использования ресурсов).
Linux не совместим с документами procfs и procfs2, имена путей отличаются и содержимое файлов отличается. /proc/
в Linux явно противоречит документу AT&T procfs2.
Ну наконец-то я смог все установить и работает корректно. Я опубликую здесь полное руководство о том, как я это сделал для Debian 9:
1-й этап:
apt-get install nvidia-cuda-dev nvidia-cuda-toolkit nvidia-driver
Чтобы выполнить приведенную выше команду, вам следует проверить эту ссылку , чтобы получить более полное представление о том, как это сделать правильно для вашей платы.
Это было сказано,затем я загружаю следующий файл запуска CUDA 8.0
Мне тоже пришлось установить эти:
apt-get install libglu1-mesa libxi-dev libxmu-dev libglu1-mesa-dev
Затем мне пришлось включить инструментарий в $PATH, чтобы заставить его работать:
export PATH=$PATH:/usr/lib/nvidia-cuda-toolkit
Тогда вы должны сделать это:
sh /home/username/Downloads/cuda_8.0.61_375.26_linux.run --tar mxvf
cp InstallUtils.pm /usr/lib/x86_64-linux-gnu/perl-base/
export $PERL5LIB
Теперь можно установить образцы:
sh /home/username/Downloads/cuda_8.0.61_375.26_linux.run
Когда он запрашивает путь к набору инструментов, вы должны ввести:
/usr/lib/nvidia-cuda-toolkit
Это были мои ответы:
Do you accept the previously read EULA?
accept/decline/quit: accept
You are attempting to install on an unsupported configuration. Do you wish to continue?
(y)es/(n)o [ default is no ]: y
Install NVIDIA Accelerated Graphics Driver for Linux-x86_64 375.26?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Toolkit?
(y)es/(n)o/(q)uit: n
Install the CUDA 8.0 Samples?
(y)es/(n)o/(q)uit: y
Enter CUDA Samples Location
[ default is /root ]: /somewher
Enter Toolkit Location
[ default is /usr/local/cuda-8.0 ]: /usr/lib/nvidia-cuda-toolkit
Теперь образцы должны устанавливаться без проблем. Затем вы можете перейти в папку внутри, где вы их устанавливаете, и запустить:
nvcc -ccbin clang++-3.8 somefile.cu -o somename
Вот и все...
Если вы хотите установить pycuda, вам нужно сделать это:
apt-get install build-essential python-dev python-setuptools libboost-python-dev libboost-thread-dev -y
apt-get install python-pycuda