تحذير: هذه هي "الوظائف" التي "تُعنى".
ومن المرجح أن الكثير مما هو أسفل لن يعمل؛ أنا توليد هذه كما كيف إلى ل ME ومن ثم القيام بجميع الخطوات والحصول على تطبيق العينة العمل... كنت قد تم التسلل ورأيت لهم! أنها سوف تكون على الأرجح جاهزة منتصف كانون الأول/ديسمبر.
## أولاً
مرحباً بكم في الجزء الثانيالجزء الأول
، عرضنا رؤية لبناء مساعد الكتابة الذي يستخدم مدونتك كقاعدة معرفية - مثل كيف يستخدم المحامون LLLS المدربين على قانون السوابق القضائية لصياغة الوثائق.
**الآن حان الوقت لنجعل أيدينا تتسخ مع الأساس: التأكد من أن وحدة الـ GPU الخاصة بك جاهزة لأعباء العمل الخاصة بـ AI.**ملاحظة: هذا جزء من تجاربي مع AI (مساعدة في الصياغة) + تحريري الخاص.
نفس الصوت، نفس العمليّة، مجرد أصابع أسرع.عن أجهزتي: أنا استخدم NVIDIA RTX A4000 (RAM) ، AMD RAZEN 9 9950X ، و 96GP نزع السلاح والتسريح وإعادة الإدماج.لكنك لست بحاجة لهذا!كما هو مشمول في الجزء 1، يمكنك استخدام أي NVIDIA GUPU مع 8GB+ VRAM، أو حتى تشغيل CPU-فقط (أبطأ ولكن وظيفية).
هذا الجزء قد يبدو أساسياً إذا كنت تعرف مسبقاً
graph LR
A[AI Workload] --> B{Type?}
B -->|Matrix Operations| C[GPU: 100x+ faster]
B -->|Sequential Logic| D[CPU: Better]
C --> E[Embedding Generation]
C --> F[LLM Inference]
C --> G[Vector Search]
D --> H[Application Logic]
D --> I[File I/O]
class C gpu
class E,F,G aiTasks
classDef gpu stroke:#333,stroke-width:4px
classDef aiTasks stroke:#333
لكن ثق بي - لقد أهدرت ساعات لا حصر لها -:
- المعالجات لديها الآلاف من اللينات ضد العشرات من المعالجينتشغيلات في المرحلة
- AI هي في الغالب مصفوفة الرياضيات، التي تتفوق على GPUs فيالنسيان
- نقل المعالجات للبيانات بشكل أسرع بكثير
تسريع العمليات الخاصة بكل عملية على حدة
المثال الحقيقي في العالممُوجّهة المُدخلات لمُدوّنة:
(24GB): الأسرع، حوالي 0.2 في كل وظيفة
(12GB): حوالي 0.5 0.5 لكل وظيفة
6144 نواة كوبا
RTX 4090 o 24GB o 13B-30B o مبالغة في إرهاق هذا المشروعRTX 4070 Ti TM TM TM TM RTX 4070 TM TM T TM TM 12GG ° 7B-13B اختيار ممتاز TM
RTX 3060 o 12GB o 7BRTX 4060 RTX 4060 TM TM TM TM TM TM RTX 4060 TI o 16GB ° 7B-13B
A4000 (منجم) □ 16GB □ 7B-13B □ وحدة عمل GPU:
المعالجات لا تدعم CUDA، التي تستخدم هذه المواد:
وقت التشغيل المباشر
# PowerShell
wmic path win32_VideoController get name
معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات معلومات
Name
NVIDIA RTX A4000
وستلاحظ الأجزاء المقبلة عندما يتحسن الدعم المقدم من وحدة التنفيذ الوطنية
سادساً - فلسفة نفيدية
graph TB
A[Your C# Application] --> B[ONNX Runtime / LLamaSharp]
B --> C[CUDA Toolkit]
C --> D[cuDNN Libraries]
D --> E[NVIDIA Driver]
E --> F[GPU Hardware]
G[TensorRT] -.Optional.-> D
class A,F endpoints
class C,D,E install
classDef endpoints stroke:#333,stroke-width:4px
classDef install stroke:#333,stroke-width:2px
subgraph "What We'll Install"
C
D
E
end
لأنها ناضجة ومدعمة جيداً في شبكة الإنترنت، لكن المفاهيم ستترجم إلى وحدات المعالجة الوطنية بمجرد أن يتطور النظام البيئي!:
قُدْس
graph LR
A[1. NVIDIA Driver] --> B[2. CUDA Toolkit]
B --> C[3. cuDNN]
C --> D[4. Verify Install]
D --> E[5. Test from C#]
class A,B,C,D,E steps
classDef steps stroke:#333,stroke-width:2px
nvidia-smi
تطبيق
+-----------------------------------------------------------------------------+
| NVIDIA-SMI 546.33 Driver Version: 546.33 CUDA Version: 12.3 |
|-------------------------------+----------------------+----------------------+
| GPU Name TCC/WDDM | Bus-Id Disp.A | Volatile Uncorr. ECC |
| Fan Temp Perf Pwr:Usage/Cap| Memory-Usage | GPU-Util Compute M. |
|===============================+======================+======================|
| 0 NVIDIA RTX A4000 WDDM | 00000000:01:00.0 Off | Off |
| 41% 32C P8 10W / 140W | 345MiB / 16376MiB | 0% Default |
+-------------------------------+----------------------+----------------------+
- C# رمز الرمز:
Driver Version(أ)CUDA Versionهذا هو الترتيب الذي سنرتب به الأشياءMemory-Usageالخطوة 1: سائق نفيديةجاري فتح سُسل:nvidia-smiيجب أن ترى مخرجات مثل:
المعلومات الأساسيةينبغي أن تكون 545.xxx أو جديدة
هذه نسخة MAX Cudda المدعومة، وليس ما تم تثبيته
طراز RTXX A.4000
نظام التشغيل:nvidia-smi
(أو نسختك)
سائق سائق(أكثر استقراراً من مُنتِز أكثر من مُنتِز أكثر استقراراً من المُفكِزالتثبيت وإعادة التشغيل(د) التصديق مرة واحدة على
أرشيف مجموعة أدوات اتفاقية الأمم المتحدة
Installation Type: Custom (Advanced)
Select Components:
✅ CUDA Toolkit
✅ CUDA Documentation
✅ CUDA Samples
✅ CUDA Visual Studio Integration
❌ GeForce Experience (not needed)
❌ NVIDIA Driver (already installed)
1 ف-5، 1 ف-4، 1 ف-3، 1 خ م، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م و، 1 م أ، 1مجموعة أدوات اتفاقية الأمم المتحدة
&::
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
نوافذ □ x86_64 □ 11 □ Exe (محلية)
الملحقات
تشغيل التشغيل المُقَمِّل.:
$env:CUDA_PATH
# Should show: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1
$env:PATH -split ';' | Select-String CUDA
# Should show CUDA bin and libnvvp paths
إذا كان قد قام بما يلي::
لِمَ تُشَرِعُ؟لا نريد أن نقلل من مستوى سائقنا أو أن نقوم بتثبيت برامج المسابقات:
This PC%s: %s: %s: %s: %s: %s: %s: %s: %sلكن لاحظوا هذا - سنحتاجه للمتغيرات البيئية!****عادة ما يقوم التثبيت بضبط هذه، ولكن التحقق:
CUDA_PATH = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1CUDA_PATH_V12_1 = C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1كِش كِش تحريرPathIF مفقود، اضض
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin
C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\libnvvp
& علِم
# Check CUDA compiler
nvcc --version
# Should output:
# nvcc: NVIDIA (R) Cuda compiler driver
# Copyright (c) 2005-2023 NVIDIA Corporation
# Built on Tue_Feb__7_19:32:13_Pacific_Standard_Time_2023
# Cuda compilation tools, release 12.1, V12.1.66
# Check path resolves
where.exe nvcc
# Should show: C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\nvcc.exe
الموارد تحت
مضافاً إليه/مضافاً إليه ما يلي:: داخل(ب) ضمان وجود هذه العناصر على النحو التالي:
أعد تشغيل الطرفيةالتغييرات التي تدخل حيز النفاذحدّث**الخطوة 3: الكدونة (مكتبة الشبكة الشبكية العميقة للكودا)**وتوفر شبكة QuDNN تنفيذ عمليات التعلم العميق على النحو الأمثل.
إلى:
مربعستحتاج إلى حساب مطور NVIDIA (حر)
cudnn-windows-x86_64-8.9.7.29_cuda12-archive\
bin\
cudnn64_8.dll
cudnn_adv_infer64_8.dll
cudnn_adv_train64_8.dll
... (more DLLs)
include\
cudnn.h
... (header files)
lib\
x64\
cudnn.lib
... (lib files)
المصدر::
# Assuming you extracted to Downloads and CUDA is in default location
# Run PowerShell as Administrator
$cudnnPath = "$env:USERPROFILE\Downloads\cudnn-windows-x86_64-8.9.7.29_cuda12-archive"
$cudaPath = "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1"
# Copy DLLs
Copy-Item "$cudnnPath\bin\*.dll" -Destination "$cudaPath\bin\"
# Copy headers
Copy-Item "$cudnnPath\include\*.h" -Destination "$cudaPath\include\"
# Copy libs
Copy-Item "$cudnnPath\lib\x64\*.lib" -Destination "$cudaPath\lib\x64\"
(الخامس من كانون الأول/ديسمبر، 2023)، لـ CUDA 12x:
bin\ملصق محلي محلي لـ النوافذ (زيب)C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\include\استورد و استق@ QDNC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\include\lib\x64\استخلص الـ الـ ZIPC:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\lib\x64\# Check DLLs exist
Test-Path "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\cudnn64_8.dll"
# Should return: True
# List all cuDNN DLLs
Get-ChildItem "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\cudnn*.dll"
أو تفعل ذلك يدوياً
nvidia-smi
ثالثاً -
nvcc --version
ثالثاً -
# All these should return paths
$env:CUDA_PATH
$env:CUDA_PATH_V12_1
# Check PATH includes CUDA bin
$env:PATH -split ';' | Select-String CUDA
يجري التحقق من تثبيتها
الخطوة 4: التحقق الكامل:
cd "C:\ProgramData\NVIDIA Corporation\CUDA Samples\v12.1"
لنتأكد من أن كل شيء يعمل معاً:
cd "1_Utilities\deviceQuery"
**&**يجب أن تظهر GPU الخاص بك مع عدم وجود أخطاء.
# If you have VS 2022
"C:\Program Files\Microsoft Visual Studio\2022\Community\MSBuild\Current\Bin\MSBuild.exe" deviceQuery_vs2022.vcxproj /p:Configuration=Release /p:Platform=x64
كوددا مؤكِّد:
.\x64\Release\deviceQuery.exe
يجب أن تظهر CUDA 12.1 (أو أي نسخة قمت بتثبيتها).
CUDA Device Query (Runtime API) version (CUDART static linking)
Detected 1 CUDA Capable device(s)
Device 0: "NVIDIA RTX A4000"
CUDA Driver Version / Runtime Version 12.3 / 12.1
CUDA Capability Major/Minor version number: 8.6
Total amount of global memory: 16376 MBytes (17174683648 bytes)
(048) Multiprocessors, (128) CUDA Cores/MP: 6144 CUDA Cores
GPU Max Clock rate: 1560 MHz (1.56 GHz)
Memory Clock rate: 7001 Mhz
Memory Bus Width: 256-bit
L2 Cache Size: 4194304 bytes
...
Result = PASS
ك: Result = PASS
اختبار العينات CDUDA (الخيار ولكن موصى به)
دعونا تجميع وتشغيل واحد.
mkdir CudaTest
cd CudaTest
dotnet new console -n CudaTest
cd CudaTest
مُمَأَّته(الحاجات البصرية استوديوهات):
dotnet add package Microsoft.ML.OnnxRuntime.Gpu # Latest version
يجري تشغيله
Microsoft.ML.OnnxRuntimeيجب أن ترى مخرجات مثل:Microsoft.ML.OnnxRuntime.Gpuمفتاح س س س س س س س س س سخطوة 5: اختبار من CProgram.cs:
using Microsoft.ML.OnnxRuntime;
using System;
using System.Linq;
namespace CudaTest
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("=== CUDA Test from C# ===\n");
// Test 1: Can we create a CUDA execution provider?
Console.WriteLine("Test 1: CUDA Execution Provider");
try
{
var cudaProviderOptions = new OrtCUDAProviderOptions();
var sessionOptions = new SessionOptions();
sessionOptions.AppendExecutionProvider_CUDA(cudaProviderOptions);
Console.WriteLine("✅ CUDA execution provider created successfully");
Console.WriteLine($" Device ID: {cudaProviderOptions.DeviceId}");
}
catch (Exception ex)
{
Console.WriteLine($"❌ Failed to create CUDA provider: {ex.Message}");
return;
}
// Test 2: Check available providers
Console.WriteLine("\nTest 2: Available Execution Providers");
var providers = OrtEnv.Instance().GetAvailableProviders();
foreach (var provider in providers)
{
Console.WriteLine($" - {provider}");
}
if (providers.Contains("CUDAExecutionProvider"))
{
Console.WriteLine("✅ CUDA provider is available");
}
else
{
Console.WriteLine("❌ CUDA provider NOT available");
}
// Test 3: Get CUDA device count and info
Console.WriteLine("\nTest 3: CUDA Device Information");
try
{
// ONNX Runtime doesn't expose deviceQuery directly,
// but we can test by trying to create a session
var opts = new SessionOptions();
opts.AppendExecutionProvider_CUDA(0); // Device 0
Console.WriteLine("✅ Successfully configured for CUDA device 0");
Console.WriteLine(" (Full device info requires native CUDA calls)");
}
catch (Exception ex)
{
Console.WriteLine($"❌ CUDA device configuration failed: {ex.Message}");
}
Console.WriteLine("\n=== Test Complete ===");
}
}
}
الآن الجزء الممتع - دعونا في الواقع استخدام CUDA من C#!:
****اضف ONNX وقت التشغيل مع Cuda
DeviceIdوقت التشغيل ONNNNNXلماذا هذه الحزمة؟- المجموع فقط
****الفصل
dotnet run
يمكن وضع حدود للذاكرة، مستوى الاستخدام الأمثل، وما إلى ذلك.:
=== CUDA Test from C# ===
Test 1: CUDA Execution Provider
✅ CUDA execution provider created successfully
Device ID: 0
Test 2: Available Execution Providers
- CUDAExecutionProvider
- CPUExecutionProvider
✅ CUDA provider is available
Test 3: CUDA Device Information
✅ Successfully configured for CUDA device 0
(Full device info requires native CUDA calls)
=== Test Complete ===
إذا نجح هذا، CDDA تعملإذا فشل، شيء ما في كومة مكسور
OrtEnv. Inststance(). تحصل على مخرجات:
# Make sure CUDA bin is in PATH
$env:PATH += ";C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin"
# Verify cudnn DLL exists
Test-Path "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\cudnn64_8.dll"
# Try running again
dotnet run
يجب أن يتضمن "CUDA تنفيذ التنفيذ Provivider" إذا كان كل شيء مثبتاً بشكل صحيحيظهر أيضاً "CPU Exexexexexexexicion Provider" كتراجع
****:
dotnet remove package Microsoft.ML.OnnxRuntime
dotnet add package Microsoft.ML.OnnxRuntime.Gpu --version 1.16.3
****خطأ: "Dllt: "Dlnthnxrn"
سبب السبب السبب السبب السببلا يمكن العثور على دلالات (كودا)
الخطأ: "CUDA تنفيذ التنفيذProvid لم يُعثر"
استخدام خطأ OnNX حزمة وقت التشغيل (الوحدات فقط).
# Download sample model
Invoke-WebRequest -Uri "https://github.com/onnx/models/raw/main/vision/classification/mnist/model/mnist-8.onnx" -OutFile "mnist.onnx"
الخطأ: "CUDA خطأ الرمز: 35 (نسخة سوّاق CUDA غير كافية)"Program.cs:
using Microsoft.ML.OnnxRuntime;
using Microsoft.ML.OnnxRuntime.Tensors;
using System;
using System.Diagnostics;
using System.Linq;
namespace CudaTest
{
class Program
{
static void Main(string[] args)
{
Console.WriteLine("=== GPU vs CPU Inference Test ===\n");
// Create dummy input (28x28 image flattened to 784 floats)
var inputData = Enumerable.Range(0, 784).Select(i => (float)i / 784).ToArray();
var tensor = new DenseTensor<float>(inputData, new[] { 1, 1, 28, 28 });
var inputs = new List<NamedOnnxValue>
{
NamedOnnxValue.CreateFromTensor("Input3", tensor)
};
// Test 1: CPU Inference
Console.WriteLine("Test 1: CPU Inference");
var cpuTime = TestInference(inputs, useCuda: false, iterations: 100);
Console.WriteLine($" Average time: {cpuTime:F2}ms\n");
// Test 2: GPU Inference
Console.WriteLine("Test 2: GPU Inference");
var gpuTime = TestInference(inputs, useCuda: true, iterations: 100);
Console.WriteLine($" Average time: {gpuTime:F2}ms\n");
// Compare
Console.WriteLine("Comparison:");
Console.WriteLine($" CPU: {cpuTime:F2}ms");
Console.WriteLine($" GPU: {gpuTime:F2}ms");
Console.WriteLine($" Speedup: {cpuTime / gpuTime:F2}x faster on GPU");
}
static double TestInference(List<NamedOnnxValue> inputs, bool useCuda, int iterations)
{
var options = new SessionOptions();
if (useCuda)
{
options.AppendExecutionProvider_CUDA(0);
}
using var session = new InferenceSession("mnist.onnx", options);
// Warmup run (first run is always slower)
session.Run(inputs);
// Timed runs
var sw = Stopwatch.StartNew();
for (int i = 0; i < iterations; i++)
{
using var results = session.Run(inputs);
// Force evaluation
var output = results.First().AsEnumerable<float>().ToArray();
}
sw.Stop();
return sw.Elapsed.TotalMilliseconds / iterations;
}
}
}
سبب السبب السبب السبب السبب:
**السائق قديم جداً على (كودا 12x)**من النوع
[1, 1, 28, 28]الاختبار المتقدم: الاختبار الفعليدعونا نفعل شيئاً حقيقياً - تشغيل شبكة عصبية صغيرة جداً على GPU vs CCPU والمقارنة بين السرعات.
1 مد-1& & جديد
المُرْسِس- طريقة تشغيل OONNX في تمثيل المصفوفات متعددة الأبعاد
dotnet run
= الدفعة_ الحجم=1، القنوات=1، الارتفاع=28، العرض=28الم
=== GPU vs CPU Inference Test ===
Test 1: CPU Inference
Average time: 0.42ms
Test 2: GPU Inference
Average time: 0.15ms
Comparison:
CPU: 0.42ms
GPU: 0.15ms
Speedup: 2.80x faster on GPU
- يُلزِد حِرساً إلى اسم مدخل
منهجية التوقيت ✅ Driver installed correctly ✅ CUDA Toolkit accessible ✅ cuDNN integrated ✅ ONNX Runtime finds CUDA ✅ C# can run GPU-accelerated inference
الناتج المتوقع
sequenceDiagram
participant App as C# Application
participant CPU as CPU Memory
participant GPU as GPU Memory
participant Compute as GPU Cores
App->>CPU: Create input tensor
CPU->>GPU: Transfer input (PCIe)
Note over GPU: Slow! ~16GB/s
GPU->>Compute: Execute model
Note over Compute: Fast! TFLOPS
Compute->>GPU: Write output
GPU->>CPU: Transfer output (PCIe)
Note over GPU: Slow again!
CPU->>App: Return results
(سوف تُغيِّر أرقامك ما يلي)::
graph TD
A[Inference Request] --> B{Model Size}
B -->|< 100MB| C{Batch Size}
B -->|> 100MB| D[Use GPU]
C -->|Single Item| E[Use CPU]
C -->|Batch > 10| D
D --> F[10-100x Faster]
E --> G[Lower Latency for Single]
class D,E choice
classDef choice stroke:#333,stroke-width:2px
1 م م خ م:
حفظ البيانات على GPP
وحدة وحدة
nvidia-smi- النماذج الصغيرة، الطلبات المنفردة،nvccمساعد مدوّنتنا:
عملية الوصلة 100+ + القطع JIU GPULL LLDDG- نموذج كبير (7B params) JIU GPU
الفئة الفئة الفئة
أولاً - موجز
لقد نجحنا في:
وقد عقد مؤتمراً بشأن
إن بيئتنا الإنمائية جاهزة الآن لأعباء العمل التي تضطلع بها منظمة العفو الدولية!
# Check GPU
nvidia-smi
# Check CUDA
nvcc --version
where.exe nvcc
# Check cuDNN
Test-Path "C:\Program Files\NVIDIA GPU Computing Toolkit\CUDA\v12.1\bin\cudnn64_8.dll"
# Check environment
$env:CUDA_PATH
$env:PATH -split ';' | Select-String CUDA
# Test from C#
dotnet run
سوف نتعمق عميقاً في التضمينات و قواعد بيانات المتجهات:
|-------|-------|-----|
| nvidia-smiما هي التضمينات وكيف تمكن من البحث الدلالي؟
| nvccالاختيار بين Qdrent، pgvectur، والخيارات الأخرى
إعداد موازنات محلياً مع وقت تشغيل OONNX
تخزين واستفسار الملايين من ناقلات الأمراض بكفاءةMicrosoft.ML.OnnxRuntime.Gpu |
بناء أول نموذج بحثنا البحثي
|--------------|---------------|--------------|-----------------| & سوQQQQQQQQ
/ خطأ سبب حدوث أو تثبيت
الجزء 4: بناء خط الامتصاصجزء من: جزء 5: المفكّلالجزء 6: التكامل المحلي
© 2026 Scott Galloway — Unlicense — All content and source code on this site is free to use, copy, modify, and sell.