Zamanlama ve Eşitleme için Olaylar
İşi ölçmek ve sıralamak için cudaEvent kullanın.
Zamanlama ve Eşitleme için Olaylar, CoddyKit'te ücretsiz bir CUDA Academy dersidir. Bu, 4 dersinin 3. dersidir. Aşağıdan dersin tamamını ücretsiz okuyabilir, sonra tarayıcıda yerleşik kod editörü ve 7/24 yapay zeka koçu ile uygulamalı olarak pratik yapabilirsin. Bu, CUDA Academy öğrenme yolunun bir parçasıdır ve ilerlemeniz web ve CoddyKit uygulaması arasında senkronize olur. CUDA Academy kursu toplamda 4 dersten oluşur.
Olay Nedir?
CUDA olayı, bir akışa yerleştirdiğiniz bir işarettir. GPU, o noktaya ulaştığı zamanı kaydeder; böylece işleri ölçebilir ve sıralayabilirsiniz. ⏱️
Olay Tanıtıcısı
Olaylar, tıpkı akışlar gibi bir cudaEvent_t tanıtıcısı kullanır. Olayı oluşturur, kaydeder, sorgular ve işiniz bittiğinde yok edersiniz.
cudaEvent_t start, stop;Olay Oluşturma
İhtiyaç duyduğunuz her olay için cudaEventCreate çağrısını yapın. Zamanlama için genellikle iki olay gerekir: biri işten önce, diğeri işten sonra.
cudaEventCreate(&start);
cudaEventCreate(&stop);Olay Kaydetme
cudaEventRecord, olayı bir akışa yerleştirir. GPU, kendisinden önce kuyruğa alınmış her şeyi tamamladığı anda olaya zaman damgası ekler.
cudaEventRecord(start, stream);Bir Çekirdeğin Süresini Ölçme
Başlangıcı kaydedin, çekirdeğinizi başlatın ve ardından bitişi kaydedin; bunların tümünü aynı akışta yapın. İkisi arasındaki süre, GPU'nun gerçek yürütme süresidir.
cudaEventRecord(start, s);
kernel<<<g, b, 0, s>>>(d);
cudaEventRecord(stop, s);Bir Olayı Bekleme
Olaylar zaman uyumsuz olduğundan ana bilgisayarın beklemesi gerekir. cudaEventSynchronize, belirtilen olay GPU'da gerçekten kaydedilene kadar engeller.
cudaEventSynchronize(stop);Geçen Süreyi Ölçme
cudaEventElapsedTime, kaydedilmiş iki olay arasındaki milisaniye cinsinden süreyi döndürür. Bu, ana bilgisayar tarafındaki CPU saatinden çok daha doğrudur.
float ms;
cudaEventElapsedTime(&ms, start, stop);Neden CPU Saati Değil?
Ana bilgisayar zamanlayıcıları başlatma ek yükünü içerir ve gerçek GPU zamanlamasını gözden kaçırır. Olaylar akışın içinde yer aldığından aygıtın yaptığı işi tam olarak ölçer.
Akışlar Arası Sıralama
Olaylar akışları da eşzamanlar. cudaStreamWaitEvent, bir akışın başka bir akışta kaydedilmiş olay gerçekleşene kadar duraklamasını sağlar.
cudaStreamWaitEvent(streamB, eventA, 0);Bağımlılık Oluşturma
Akış-olay-bekleme işlemiyle bir bağımlılık ifade edersiniz: streamB, ana bilgisayarı engellemeden yalnızca streamA kendi olayına ulaştıktan sonra çalışmaya başlar.
Olayları Temizleme
Artık ihtiyaç duymadığınız olayları cudaEventDestroy ile serbest bırakın. Akışlar gibi olaylar da az kaynak tüketir; ancak uzun süre çalışan uygulamalarda sızıntıya neden olmamaları gerekir.
cudaEventDestroy(start);
cudaEventDestroy(stop);Hızlı Kontrol
İki olay arasındaki süreyi hangi işlev verir?
Özet
Olaylar, GPU işlerinin süresini hassas biçimde ölçmenizi ve bir akışı diğerinden sonra sıralamanızı sağlar. Örtüşmeyi ölçmek ve düzenlemek için kullanacağınız araç bunlardır. 🎯
Yapay zeka eğitmeniyle C++ öğren — ücretsiz
Tarayıcında gerçek kod yaz ve çalıştır, 7/24 yapay zeka eğitmeninden anında yardım al; web'de ya da uygulamada kaldığın yerden devam et.
- Kurslar
- 30
- Dersler
- 120
Sıkça Sorulan Sorular
“Zamanlama ve Eşitleme için Olaylar” dersi ücretsiz mi?
Evet — “Zamanlama ve Eşitleme için Olaylar” dersin tüm metni burada web'de ücretsiz olarak okunabilir. Etkileşimli olarak pratik yapmak (yerleşik kod editörü ve 7/24 yapay zeka koçu) ve CUDA Academy kursunun geri kalanını açmak için CoddyKit PRO'ya yükselt. CUDA Academy kursu toplamda 4 dersten oluşur.
“Zamanlama ve Eşitleme için Olaylar” dersinde ne öğreneceğim?
İşi ölçmek ve sıralamak için cudaEvent kullanın. CUDA Academy ile uygulamalı kodu tarayıcıda doğrudan çalıştırarak pratik yaparsın ve 7/24 yapay zeka koçu dersi çalışırken sorularını yanıtlar.
CUDA Academy öğrenmeye başlamak için deneyim gerekli mi?
Önceden deneyim gerekmez. CoddyKit'te CUDA Academy, başlangıçtan ileri seviyeye kadar yapılandırıldığı için buradan başlayabilir veya başından başlayıp kendi hızında ilerleme yapabilirsin. Bu, 4 dersinin 3. dersidir.
“Zamanlama ve Eşitleme için Olaylar” dersi ne kadar sürer?
Çoğu CoddyKit dersi yaklaşık 5–10 dakika sürer. Her biri kısa ve etkileşimli olduğu için sabit ilerleme yaparsın ve web ile uygulama arasında tam olarak bıraktığın yerden devam edebilirsin.
Bu CUDA Academy dersinde kod yazıp çalıştırabilir miyim?
Evet. Her CUDA Academy dersi yerleşik bir kod editörü içerir, bu sayede tarayıcıda gerçek kod yazıp çalıştırabilir ve anlık yapay zeka geri bildirimi alırsın — yerel kurulum gerekli değildir.
Bu kursun tüm dersleri
- Varsayılan Akış Tuzağı
- Akışları Oluşturma ve Kullanma
- Zamanlama ve Eşitleme için Olaylar
- Kopyalama ve Hesaplamayı Örtüştürme