XML dosyalarını ayrıştıran ve içeriklerini geniş bir SQL Veritabanına ekleyen bir yazılım parçasının performansını geliştirmem gerekiyor. Bunu bir GPU üzerinde gerçekleştirmenin mümkün olup olmadığı hakkında bilgi bulmaya çalışıyorum. Hem CUDA hem de OpenCL ile ilgili yaptığım araştırmalar, C/C++, FORTRAN ve diğer birçok dilde yazılımın, GPU işlemeyi mümkün kılmak için derleyici direktifleri kullanılarak geliştirilebileceği gerçeğinin ötesinde, net bir cevap vermemi sağladı. Bu bana şu soruyu sormamı sağlar: GPU hızlandırması için yazılmış bir API veya kütüphaneye ihtiyacım var mı yoksa CUDA/OpenCL için derleyici direktifleriyle derlenen ve C++ XML Ayrıştırma kütüphanesi kullanılarak C/C++ ile yazılmış bir programın XML'i otomatik olarak çalıştırması gerekir mi? GPU'da kütüphane işlevleri var mı?GPU Hızlandırılmış XML Ayrıştırma
cevap
Aslında, GPU'da XML ayrıştırmayla ilgili bir anlam göremiyorum. GPU mimarisi, büyük kayan noktalı sayı hesaplamalarına odaklanır ve metin işleme gibi işlemlere odaklanmaz. Birden fazla çekirdek kullanmak için CPU ve bölünmüş XML ayrıştırma kullanmak için çok daha iyi olduğunu düşünüyorum. Böyle bir uygulamada GPU kullanmak benim görüşüme göre aşırı.
bilgisi olmayan çok kötü insanlar, itibar puanlarıyla ilgili bir soruyu yanıtlamaya çalışır. Tam olarak aynı problem var, GPU'da ayrıştırmak için en iyi algoritmaya ihtiyacım var ve bulamıyorum. Bunun için -1 – Nulik
Genelde, GPU XML işleme hızlandırması için uygun değildir ... GPU, yalnızca, istenen görev çok sayıda GPU işlem biriminden yararlanmak için büyük ölçüde paralellik gösterirse harikadır. Diğer yandan XML işlemleri büyük ölçüde tekdir iş parçacığı iş makinesi geçiş türü.
Önce xml'nizin yapısına bakın. Bu bağlantıyı takiben, paralel işlem için uygun XML yapısı için kriterler bulabilirsiniz. Sonra Parallel XML Parsing in Java
xml yapısı paralel olarak işlenebilir ise birkaç fikirleri: i bildiği gibi
, XML ayrıştırma ihtiyaçları ağacında mevcut konumu hatırlamak ve uygun açılma ve düğümlerin kapanmasını doğrulamak için yapıyı yığını.
Yığın yapısı, yığın işaretçisi olan 1 boyutlu bir dizi olarak gösterilebilir. Yığın işaretçisi dizide yığın üst öğesinin konumunu içerir
Dizileri 1D dokularında depolayabileceğinizi söylüyorlar (en fazla 4,096 eleman). Eğer her benzersiz eleman adının ayrı kayan noktalı sayı atarsanız Ya 2D dokular (maks. 16777216 = 4,096x4,096 elementler) ... o zaman gibi öğeleri saklayabilir, daha https://developer.nvidia.com/gpugems/GPUGems2/gpugems2_chapter33.html
için aşağıdaki bağlantıyı bak sayıları ascii/utf-8 kodlarının bir dizisi olarak alırsanız, neden bunları bir dizi kayan nokta sayısı olarak saklamıyorsunuz?
GPU'yu kullanmayı düşünmeniz gereken en önemli şey çıktı yapısının ne olduğu.
Örneğe ihtiyacınız varsa; Sabit uzunluklu sütunların tablo satırı, daha sonra 1D veya 2D diziliminde bu tür yapıların nasıl gösterileceği ile ilgilidir.
Önceki noktalardan emin olduğunuzda ve GPU sizin için uygunsa,
Ben hiç GPU ile programlama denedik, ama bir şey olduğunu söylemek bana çok yakında görünüyor asla geri ... verilerinizin
ve tabii bütün xml ayrıştırıcı için dokular ve dokular için verilerinizi dönüştürmek imkansız ...Birisi bütün algoritma oluşturmak ve GPU kullanımı verimli olup olmadığını denemek veya ilk olmalıdır değil
Aslında GPU hızlandırma için yazılmış bir API ya kitaplık gerekir, yoksa Do- 1. GPU Python'da hızlandırılmış veri çizimi
- 2. Ayrıştırma XML
- 3. XML ile Ayrıştırma XML CDATA
- 4. Ayrıştırma XML dosyaları: XML nodeset
- 5. PHP'de XML Ayrıştırma
- 6. XML Ayrıştırma Hatası - C#
- 7. Web İşleyicilerinde XML Ayrıştırma
- 8. Android'te XML ayrıştırma
- 9. XDocument kullanarak XML ayrıştırma
- 10. Nokogiri XML Ayrıştırma
- 11. Raylar XML ayrıştırma
- 12. TouchXML XML öznitelikleri ayrıştırma
- 13. Android'in XML Ayrıştırma tekniği
- 14. Python BeautifulSoup XML Ayrıştırma
- 15. Haskell'deki XML Ayrıştırma
- 16. NSXMLParser içinde xml ayrıştırma
- 17. Xml ayrıştırma Apache Kafka
- 18. Kakaoda XML Ayrıştırma
- 19. XML ayrıştırma, SQL Server
- 20. Python ayrıştırma xml dosyası
- 21. Java XML ayrıştırma için DOM kullanarak ayrıştırma
- 22. Python XML Web sitesinden ayrıştırma XML
- 23. GPU
- 24. Python'da XML dizgisini ayrıştırma hatası
- 25. Android JDOM2 xml ayrıştırma, IOExcetion
- 26. XML Ayrıştırma Hatası: iyi biçimlendirilmemiş
- 27. Groovy yoluyla Java'da XML ayrıştırma
- 28. jQuery ve XPath XML ayrıştırma
- 29. Yükseltme özelliği ağacıyla XML Ayrıştırma
- 30. C# sınıfındaki XML dizesini ayrıştırma?
* "bir program C ile yazılmış olur /C++ standart bir XML Ayrıştırma kitaplığı kullanarak ve CUDA/OpenCL için derleyici yönergeleriyle derlenen GPU'da XML kitaplığı işlevlerini otomatik olarak çalıştırırsınız. * * - Kesinlikle eski ve muhtemelen olası algoritmaları yeniden yapılandırmanız gerekir. XML-ayrıştırma gibi GPU hesaplama için hiyerarşik ve uygun olmayan bir görev ile yararlı (ben XML ayrıştırma konusunda uzman değilim, ben itiraf ediyorum). –