Skip to content

Commit

Permalink
Краткая инструкция по vs code
Browse files Browse the repository at this point in the history
  • Loading branch information
NValerij committed Sep 2, 2024
1 parent 828e860 commit 492cd88
Show file tree
Hide file tree
Showing 2 changed files with 36 additions and 1 deletion.
24 changes: 23 additions & 1 deletion content/01_Introduction/Setup.md
Original file line number Diff line number Diff line change
Expand Up @@ -135,4 +135,26 @@ pscp test.py imladris:~
* https://code.visualstudio.com/ — сайт проекта.
* https://code.visualstudio.com/docs — возможно, слишком подробное getting started.

TODO: минимальные шаги настройки vs code.
Вам нужно:
* Скачать и [установить](https://code.visualstudio.com/docs/setup/setup-overview) vs code под свою платформу.
* Установить плагины *Remote-SSH* и *C/C++* от Microsoft: `Ctrl+Shift+X` → поиск по названиям плагинов → Install.

После этого попробуем подключиться к компьютеру в ШАД:
* Нажимаем на зелёные стрелочки в левом нижнем углу (или `Ctrl-Shipft-P``>Remote-SSH: Connect to Host`).
* В появившемся списке выбираем машину `imladris` (она должна подтянуться из `~/.ssh/config`).
* Некоторое время vs code копирует файлы на удалённый сервер, потом показывает welcome-окно.
* В правом нижнем углу окна должно быть имя удалённого сервера.

`Ctrl-\`` — открыть ssh-консоль к удалённому серверу прямо в vs code. Командой «+» в toolbar’е этой консоли можно создать дополнительные.

Попробуем написать простейшую программу:
* Создадим папку для экспериментов: `mkdir 01-intro` и откроем её в vs code («File → Open Folder» или с Welcome-screen).
*`Yes, I trust authors`
* В vs code создадим новый файл (`Ctrl-N` или через Explorer `Ctrl-Shift-E`).
* (Самостоятельно) напишем стандартный «hello, world» на C++ и сохраним его как `main.cpp`.
* Проверяем через консоль: `gcc -o main main.cpp && ./main`

Повышаем степень удобства работы, ставим плагин для C++:
* `Ctrl-Shift-X`
* В списке локально установленных плагинов находим `C/C++`
*`Install in SSH`
13 changes: 13 additions & 0 deletions content/01_Introduction/SimpleKernelTask.md
Original file line number Diff line number Diff line change
@@ -0,0 +1,13 @@
# Базовые концепты и написание простого ядра

> Simple kernel — `hello world` на CUDA aka `elementwise add` с разбором, базовая линейная индексация без разбивки на блоки
## Модель вычислений

* GPU — отдельное устройство, выполняющее свой (специально для него написанный) код.
* CPU ставит задачи, загружает/выгружает данные и ждёт завершения выполнения (синхронизация).

## Модель памяти

* RAM/VRAM — два вида памяти для CPU/GPU.
* Специальные команды для обмена данными (`cudaMemCpy*[Async]`), в которых `cudaMemcpyKind` определяет направление копирования.

0 comments on commit 492cd88

Please sign in to comment.