Skip to content

deadinsidemertv/GPUTensor

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

6 Commits
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

GPUTensor – GPU‑библиотека тензорных операций на DirectCompute


Зачем это?

Когда я писала свою Decoder‑Only Network (DON) на C#, стало очевидно, что вычисления на CPU слишком медленные.
Вместо того чтобы просто использовать готовые библиотеки (CUDA, PyTorch), я решил разобраться, как работают GPU‑ядра изнутри, и создать собственный независимый бэкенд.

Результат: библиотека на чистом C++ с вычислительными шейдерами HLSL, работающая на любом GPU с DirectX 11 (NVIDIA, AMD, Intel). Никаких проприетарных ограничений – только DirectCompute.


Возможности

  • Сложение массивов (MatAdd)
  • Умножение матриц (MatMul)
  • ReLU (функция активации)(0,Inf)
  • (в планах) Softmax, механизм внимания, полносвязные слои

🛠 Технологии

  • C++17 – ядро библиотеки
  • Direct3D 11 / DirectCompute – взаимодействие с GPU
  • HLSL – шейдеры для каждой операции
  • Windows SDK – встроен в Visual Studio

🔧 Сборка (C++ DLL)

  1. Открой решение GPUTensor.sln в Visual Studio.
  2. Выбери конфигурацию Release и платформу x64.
  3. Собери проект (Build → Build Solution).
  4. Готовая DLL появится в папке x64\Release\.

🧪 Пример использования (C++)

#include "GPUTensor.h"

// инициализация
if (!InitGPU()) return 1;

// сложение
float A[] = {1, 2, 3, 4, 5, 6};
float B[] = {7, 8, 9, 10, 11, 12};
float C[6];
MatAdd(A, B, C, 6);  // C = {8,10,12,14,16,18}

// умножение матриц 2×3 * 3×2
float M[] = {1,2,3, 4,5,6};
float N[] = {7,8, 9,10, 11,12};
float P[4];
MatMul(M, N, P, 2, 3, 2);
// P = {58,64, 139,154}

ShutdownGPU();

Использование из C# (в разработке)

C# обёртка находится в стадии разработки. В ближайшее время будет добавлена в репозиторий.

Пока что вы можете использовать библиотеку через P/Invoke вручную (см. примеры в examples/).


Прочее

📜 Лицензия Проект распространяется под лицензией MIT.

Автор

neroqwe

About

multiplay,add,ReLLu tensor operations on GPU. Direct3D 11

Topics

Resources

License

Stars

Watchers

Forks

Packages

 
 
 

Contributors