Artan güç talepleri doğrultusunda, enerji sistemlerinin optimizasyonu (PSO), enerji kaynaklarının etkin yönetimi, sürdürülebilirlik ve enerji güvenliği sağlamak için kritik bir öneme sahiptir.
Kuzey Amerika’nın önemli enerji ağlarından biri olan Doğu Bağlantısı, yaklaşık 70 bin düğümden oluşmaktadır (Şekil 1). Bu büyüklüğün yanı sıra, böyle bir ağın optimizasyonu, felaket niteliğindeki hava olayları ve enerji üretimindeki kesintiler gibi belirsizliklerle de karmaşık hale gelmektedir.
PSO genellikle, milyonlarca değişken ve kısıtlamalar içeren, büyük ölçekli doğrusal olmayan optimizasyon problemlerinin çözülmesini içerir. Gerçek zamanlı olarak doğru sonuçlar elde etmek, ağın istikrarı ve verimliliği açısından kritik öneme sahiptir; ancak bu oldukça zor bir iştir.
MIT’den Profesör Sungho Shin, MINES Paris – PSL’den Profesör François Pacaud ve ANL’den doktora sonrası araştırmacı Alexis Montoison, NVIDIA araçlarını kullanarak büyük ölçekli PSO ve diğer karmaşık doğrusal olmayan optimizasyon problemlerini çözmek için doğrusal olmayan optimizasyon algoritmaları ve çözücüleri geliştirmiştir.
Son makaleleri, Konsantre Alan Yöntemleri ile GPU’larda Nonlinear Programming, NVIDIA’nın cuDSS (Doğrudan Seyrek Çözücü) kütüphanesi ve NVIDIA’nın Grace Hopper Süper Çipi gibi yüksek bellekli GPU’ları kullanarak daha önce mümkün olmayan ölçeklerde sorunları çözmeyi amaçlamaktadır.
Doğrusal Olmayan Optimizasyon Problemlerini Çözme
Büyük ölçekli, seyrek, kısıtlı PSO gibi doğrusal olmayan optimizasyon problemleri genellikle iç nokta yöntemleri kullanılarak çözülmektedir. IPOPT, KNITRO ve MadNLP gibi çözücüler, çözüm aramak için iteratif olarak bir adım yönü hesaplayarak, bir dizi Karush-Kuhn-Tucker (KKT) sistemini çözmeyi ve adım boyutunu lineer arama kriterleri aracılığıyla belirlemeyi içerir (Şekil 2).
KKT sistem girişlerinin değerlendirilmesi—hedef ve kısıtlamaların türevleri—ve KKT sistemlerinin sayısal çözümlenmesi hesaplama açısından yoğun bir süreçtir ve genellikle dış kütüphanelere devredilir. Türev değerlendirmeleri, otomatik farklılaştırma yeteneklerine sahip cebirsel modelleme sistemleriyle (AMPL, Pyomo veya JuMP.jl) gerçekleştirilirken, KKT sistemleri seyrek doğrusal çözücüler (Pardiso, MUMPS veya HSL) kullanılarak çözülmektedir.
İç nokta algoritmasının birincil darboğazı, genellikle büyük, seyrek ve kötü koşullu olan KKT sistemlerini çözmektir. İteratif doğrusal çözücüler için ön koşullandırıcı tasarlamanın zorlukları nedeniyle, KKT sistemlerinin yeterince doğru çözümlerini elde etmeye yönelik en iyi seçenek olarak, doğrudan çözücüler kullanılmaktadır.
Geleneksel uygulamalarda, LBLᵀ faktörleştirmesi kullanan seyrek çözücüler, libHSL koleksiyonundaki MA27 ve MA57 gibi lineer çözücülerle sıklıkla kullanılmaktadır. Hızlandırılmış paralel hesaplama, büyük ölçekli optimizasyonu hızlandırma potansiyeline sahip olsa da, GPU için etkili doğrudan seyrek çözücüler geliştirmek zorlu bir süreç olmuştur.
NVIDIA cuDSS gibi kütüphaneler, bu tür boşlukları hedef almaktadır.
Büyük Ölçekli PSO Çözücülerini cuDSS ile Güçlendirme
İç nokta yöntemlerinin etkili GPU uygulaması, yeni cuDSS kütüphanesini kullanabilen MadNLP programındaki atılımlar sayesinde mevcut hale gelmiştir. MadNLP, problemi, orijinal belirsiz sistem yerine seyrek pozitif belirli bir sistem olarak yeniden formüle eden kondanse KKT prosedürlerini (yükseltilmiş ve hibrit) kullanmaktadır.
cuDSS, ardından KKT sistemini etkili bir şekilde faktörleştirip çözecek şekilde tasarlanmıştır ve bu durum, büyük ölçekli doğrusal olmayan optimizasyon için önemli performans iyileştirmeleri sağlamaktadır.
Sungho, François ve Alexis, bu yetenekleri kullanarak, NVIDIA GPU’ları üzerinde doğrusal olmayan optimizasyonu tamamen çalıştırabilen kapsamlı bir yazılım paketi geliştirmiştir. Bu paket, cebirsel modelleme ve otomatik farklılaştırma için ExaModels ve yükseltilmiş ve hibrit KKT sistemi stratejileri ile iç nokta yöntemlerini uygulamak için MadNLP içermektedir (Şekil 2).
Bu araç seti, Doğu Bağlantısı’nın tamamını modellemek için yeterince büyük olan PSO sorunlarını büyük hız kazançları ile sonuçlandırmıştır. Bir NVIDIA A100 GPU kullanarak ExaModels, MadNLP ve cuDSS bileşenlerini hızlandırmak, bu ölçeklerde gerçek zamanlı bir çözüm elde edilmesini sağlamıştır ve bu, hesaplama engellerinin artık tüm Doğu Bağlantısı’nın pratik PSO’sunu engellemediğini göstermektedir.
Bunlar, mevcut teknoloji ile AMD EPYC 7443 CPU’daki önceki en iyi uygulamaya göre 10 katın üzerinde bir hız kazancı sağlamıştır (Şekil 3). Sayısal faktörleştirme ve üçgen çözme adımı, CPU tabanlı HSL MA27 lineer çözücünün cuDSS ile değiştirilmesiyle 30 kat hızlandırılmıştır.
Bu hız kazanımları, KKT prosedürlerinin cuDSS için özellikle elverişli olması nedeniyle gerçekleşmiştir. Bu prosedürler, SABIT bir seyreklik deseni sunmakta olup, maliyetli ve paralelleştirilmesi zorlu olan sembolik analiz adımı yalnızca bir kez ön işleme aşamasında gerçekleştirilmiştir. Sonrasında, algoritmanın geri kalan kısmı yalnızca etkili cuDSS tekrar faktörleştirme rutinine dayanmıştır.
NVIDIA GH200 ile PSO Sınırlarını Yeniden Tanımlama
PSO’nun en önemli uygulamalarından bazıları, milyonlarca değişken ve kısıtlamayla işlenen problemleri içerir. Örneğin, çok dönemli formülasyon gelecekteki güç talebini tahmin etmeye yardımcı olurken, güvenlik kısıtlamalı formülasyon ulusal altyapının güvenilirliğini sağlamak için acil durum planlaması yapar.
Bu problemler o kadar büyük ve karmaşıktır ki, onların işlenebilir hale gelmesi için hızlandırılmış hesaplama donanımında atılımlar gereklidir.
NVIDIA Grace Hopper Süper Çipi (GH200), MadNLP‘nin daha önce ele alınamaz olan problemleri çözmesine yardımcı olmaktadır. Yakın tarihli bir yayın, GH200’ün 10 milyondan fazla değişken içeren bir çok dönemli optimizasyon problemini çözmek için gerekli olduğunu göstermiştir (Şekil 4). Bu durum, 576 GB birleşik bellek (480-GB CPU ile 96-GB GPU) sayesinde mümkün olmuştur.
Küçük problem örnekleri için, verilerin GPU’ya aktarımındaki gecikme nedeniyle CPU’nun daha hızlı olduğu görülmüştür.
Yazarlar, bu sonuçların önemi nedeniyle, “Birleşik belleğe sahip CPU/GPU sistemlerinin, NVIDIA GH200 gibi, yakın gelecekte yaygın donanım haline geleceğini ve bu tür gelişmelerin elektrik piyasası operasyonları için güçlü hesaplama araçları sağlayacağını bekliyoruz” demişlerdir.
Gelecek Nesil Enerji Verimliliğini Hızlandırma
Sungho, François ve Alexis, zorlu PSO problemlerinin pratik çözümü adına önemli ilerlemeler kaydetmişlerdir. Üzerinde çalışmaya devam ederek, çözücülerinin sayısal hassasiyet ve dayanıklılığını artırmayı hedeflemektedirler.
Yeni bir çözücü olan MadNCL’yi geliştiriyorlar. Bu çözücü, bir dizi alt problem çözmek için MadNLP kullanarak geliştirilen artırılmış Lagrangian’ı minimize etmektedir. Bu yaklaşım, optimizasyon sürecindeki olumsuz koşullara karşı daha iyi bir çözüm sağlama potansiyeli taşımaktadır.
Bu yeni yaklaşımlar, cuDSS ve NVIDIA GPU’larının hızla gelişen yeteneklerine dayanmakta, çoklu GPU çok düğümlü destek ile daha büyük problemlere ölçeklenme kapasitesine sahiptir.
cuDSS ile Başlayın
Uygulamalarınızı hızlandırmaya başlamak için early-access (erken erişim) cuDSS kütüphanesini indirebilirsiniz. cuDSS özellikleri hakkında daha fazla bilgi için NVIDIA cuDSS (Önizleme): Doğrudan Seyrek Çözücüler İçin Yüksek Performanslı CUDA Kütüphanesi sayfasını ziyaret edebilirsiniz. cuDSS ile bir arada kullanılabilecek diğer matematik kütüphaneleri hakkında bilgi almak için CUDA-X GPU Hızlandırılmış Kütüphaneleri inceleyebilirsiniz.
PSO ve diğer GPU hızlandırmalı doğrusal olmayan optimizasyon uygulamaları ile ilgileniyorsanız, ExaModels ve MadNLP GitHub reposunu keşfedebilirsiniz.
Gerçek dünya uygulamaları için cuDSS’yi Honeywell’in UniSim Design’e entegre ederek elde ettiği %78’lik performans artırımıyla nasıl kurduğuna dikkatlice bakabilirsiniz.