---
title: "qwenGPU: Qwen3.5-2B içinde CUDA çalıştıran derlenmiş GPU"
description: "qwenGPU modeli, Qwen3.5-2B'ye derlenmiş 45 layer ile CUDA kernel'lerini forward pass içinde çalıştırıyor. Rakamlar, sınırlar ve kurulum."
image: "https://sezer.in/wp-content/uploads/2026/11/WP-BLOG-BANNER-88881-2-scaled-1.webp"
url: "https://sezer.in/haberler/qwengpu-modeli-qwen3-5-2b-cuda/"
date: "2026-11-02T15:31:43+03:00"
updated: "2026-11-02T15:31:43+03:00"
author: "Sezer Şanlıkan"
lang: "tr"
source: "https://sezer.in/haberler/qwengpu-modeli-qwen3-5-2b-cuda/"
---

# qwenGPU: Qwen3.5-2B içinde CUDA çalıştıran derlenmiş GPU

Geliştirici Vixhal, Qwen3.5-2B'nin weight'lerine 4 lane'li bir SIMT GPU derleyen deneysel qwenGPU modelini MIT lisansıyla GitHub'da yayımladı. Qwen'in 24 layer'ının önüne eğitilmemiş 45 layer ekleniyor, bunların bütün weight'lerini bir compiler hesaplıyor ve model PTX'e derlenmiş gerçek CUDA kernel'lerini kendi forward pass'leri içinde çalıştırıyor. Geliştiricinin kendi ölçümlerine göre referans yorumlayıcı 49 test kernel'inin 49'unda NVIDIA Tesla T4 ile aynı sonucu verdi, hız ise Apple MPS üzerinde saniyede 10 ila 15 token.

## SIMT nedir, ne işe yarar?

SIMT (Single Instruction, Multiple Threads), aynı komutu birden çok thread'in farklı veriler üzerinde eşzamanlı çalıştırdığı yürütme modelidir. NVIDIA GPU'larının CUDA programlama modeli bu yapıya dayanır. Thread'ler warp adı verilen gruplar halinde ilerler; dallanma olduğunda bazı thread'ler beklerken diğerleri çalışır. SIMD'den farkı, programcının her thread'i ayrı bir akış gibi yazabilmesidir.

## Gated DeltaNet nedir, ne işe yarar?

Gated DeltaNet, transformer modellerinde softmax attention yerine kullanılan bir linear attention mimarisidir. Geçmiş bilgiyi sabit boyutlu bir recurrent state içinde tutar; bu state'i delta kuralıyla günceller ve bir gate ile eski bilgiyi unutturur. Uzun context'lerde bellek ve hesap maliyetini düşürmek için kullanılır, Mamba gibi state space modelleri benzer amaçlı alternatiflerdir.

## qwenGPU modeli neyi deniyor

Bugün bir LLM'e hesap yaptırmanın güvenilir yolu tool calling. Model bir fonksiyon çağırıyor, hesabı dışarıdaki kod yapıyor, sonuç geri dönüyor. qwenGPU modeli bu ayrımı kaldırmayı deniyor: hesap modelin yanında değil, forward pass'lerin içinde yapılıyor.

Bunun için yeni bir layer tipi eklenmiyor. Devre, Qwen3.5'in zaten kullandığı Gated DeltaNet ve SwiGLU MLP bloklarıyla kuruluyor. Mimari aynı kalıyor, yalnızca başa 45 layer geliyor ve bunların weight'leri eğitimle değil derlemeyle belirleniyor.

## Bellek hücresi olarak recurrent state

İşin anahtarı Gated DeltaNet'in recurrent state'i. Devrenin head'lerinde gate açık tutuluyor, yazma gücü 1, key'ler one-hot. Her güncelleme tam bir satırı eziyor, one-hot bir query aynı satırı geri okuyor. Böylece state'in her satırı adreslenebilir bir bellek hücresine dönüşüyor.

Program ROM'u, register'lar ve global bellek bu state'te duruyor. Modelin "kısa süreli hafızası" olarak tasarlanan yapı burada bir RAM modülü gibi kullanılıyor.

Ölçeğe bakın: lane başına 15 register, 126 bellek word'ü, 32 blokluk ROM ve 4 lane. Gerçek bir GPU'nun yanında bu oyuncak boyutunda bir makine. Shared memory, atomicAdd, \_\_syncthreads() ve warp shuffle destekleniyor. Ama içine sığacak kernel'ler kısa, veri de birkaç düzine sayıyla sınırlı.

## Rakamları okurken

Tüm rakamlar geliştiricinin kendi ölçümü. Apple silicon üzerinde MPS ile bf16'da alınmışlar ve bağımsız bir doğrulama yok.

- 49/49 T4 eşleşmesi referans yorumlayıcıya ait. Modelin kendisi için verilen ölçüt, --check replay altında her launch'un doğru çıkması.
- Normal modda 24 sohbet sorusunun 20'si GPU'nun hesapladığı sayılarla cevaplandı. Kalan 4 soruda ne olduğu açıklanmıyor.
- Advanced modda Qwen'in kendi yazdığı CUDA, 5 sorunun 4'ünde ilk denemede doğruydu. README de 2B'lik bir modelin CUDA çıktısının hâlâ güvenilmez olduğunu söylüyor.
- Metin kalitesi için KL (Kullback-Leibler divergence) değeri yaklaşık 7e-4. Yani birleşik modelin sonraki token dağılımı orijinal Qwen3.5-2B'ye çok yakın kalıyor. Devre metin token'larında susturuluyor, Qwen'in kendi weight'lerine dokunulmuyor.

Hız tarafı daha net. Demo videosundaki 3 elemanlı dot product launch'u 47 token sürüyor. Saniyede 10 ila 15 token ile bu kabaca 3 ila 5 saniye demek. Gerçek bir GPU'da aynı iş mikrosaniye mertebesinde biter. Qwenputer ile kıyas tablosundaki hızlar farklı donanım ve token türlerinde ölçüldüğü için yan yana konamaz.

## Denemek için gerekenler

Hazır checkpoint yayımlanmadı. `just build` komutu Qwen3.5-2B'yi indiriyor ve GPU devresini onun içine derliyor. Quantized sürüm de yok. Şart, yaklaşık 16 GB boş bellek; 16 GB toplam RAM'li bir dizüstü bilgisayar bu yüzden yetmeyebilir.

```
python3 --version   # 3.11 veya üstü
uv --version
just --version
just build
```

Quickstart listesinde clang yok. NVPTX backend'i içeren clang yalnızca advanced mod için şart koşuluyor, normal mod hazır kernel'lerle çalışıyor. Model Apple silicon, NVIDIA GPU ya da CPU üzerinde koşabiliyor.

Lisans iki parçalı: kod MIT, build edilen checkpoint ise Qwen'in Apache-2.0 lisansına bağlı. Checkpoint'i kurum içinde paylaşacaksanız iki lisansı ayrı kaydedin.

## Kime ne kazandırır

Production tarafında bir şey değişmiyor. Bu bir runtime değil, araştırma demosu. Kaynak da bunu açıkça yazıyor.

Asıl ilginç yan, agent ve tool calling tasarlayan ekipler için. Bugün modelin ürettiği kodu çalıştırmak bir sandbox gerektiriyor. qwenGPU modelinde ise kernel host donanımında koşmuyor. Host yalnızca CUDA'yı PTX'e derleyip token olarak yüklüyor, sonucu da recurrent state'ten okuyor. Yaklaşım olgunlaşırsa "model ürettiği kodu nerede çalıştıracak" sorusunun cevabı değişebilir. Ama 126 word bellek ve launch başına saniyeler varken bunu gerçek iş yükünde kullanmak mümkün değil.

Compiled transformer çalışmalarıyla ilgilenenler için repo okunmaya değer. Proje, Divyansh Agrawal'ın Qwenputer'ındaki transformer compiler'ını kullanıyor. Qwenputer aynı teknikle Qwen3.5-4B içine 32-bit RISC-V CPU derliyor; iki repoyu yan yana okumak, tekniğin CPU'dan SIMT GPU'ya nasıl taşındığını gösteriyor.
