]> git.djapps.eu Git - pkg/ggml/sources/ggml/commitdiff
vulkan : fix build for GGML_VULKAN_RUN_TESTS, add TFLOPS to log (#961)
authorJeff Bolz <redacted>
Fri, 27 Sep 2024 07:58:01 +0000 (02:58 -0500)
committerGitHub <redacted>
Fri, 27 Sep 2024 07:58:01 +0000 (10:58 +0300)
AUTHORS
src/ggml-vulkan.cpp

diff --git a/AUTHORS b/AUTHORS
index 850e426fbf478729fdc498c07372083f028f8ec2..b5e2c81fa63fc06b711e715f2b9d04b689bf6474 100644 (file)
--- a/AUTHORS
+++ b/AUTHORS
@@ -1,16 +1,24 @@
-# date: Tue Apr  9 20:16:51 EEST 2024
+# date: Thu Sep 26 09:19:50 CDT 2024
 # this file is auto-generated by scripts/gen-authors.sh
 
 0cc4m <picard12@live.de>
+65a <10104049+65a@users.noreply.github.com>
 AT <manyoso@users.noreply.github.com>
 Abhilash Majumder <30946547+abhilash1910@users.noreply.github.com>
 Adam Tazi <52357206+ad1tazi@users.noreply.github.com>
 AidanBeltonS <87009434+AidanBeltonS@users.noreply.github.com>
+AidanBeltonS <aidan.belton@codeplay.com>
+Akarshan Biswas <akarshan.biswas@gmail.com>
+Albert Jin <albert.jin@gmail.com>
+Alberto Cabrera Pérez <alberto.cabrera@codeplay.com>
+Alberto Cabrera Pérez <alberto.cabrera@intel.com>
 Alex Azarov <alex@azarov.by>
+Alex O'Connell <35843486+acon96@users.noreply.github.com>
 Alex von Gluck IV <kallisti5@unixzen.com>
 AmbientL <107641468+AmbientL@users.noreply.github.com>
 AmirAli Mirian <37371367+amiralimi@users.noreply.github.com>
 Ananta Bastola <anantarajbastola@gmail.com>
+Andreas (Andi) Kunar <andreask@msn.com>
 Andrei <abetlen@gmail.com>
 Arjun <ccldarjun@icloud.com>
 Ashraful Islam <ashraful.meche@gmail.com>
@@ -18,42 +26,66 @@ Astariul <43774355+astariul@users.noreply.github.com>
 AsukaMinato <asukaminato@nyan.eu.org>
 Avi Lumelsky <avilume@gmail.com>
 Bart Pelle <3662930+Velocity-@users.noreply.github.com>
+Ben Ashbaugh <ben.ashbaugh@intel.com>
 Borislav Stanimirov <b.stanimirov@abv.bg>
 Brad Ito <phlogisticfugu@users.noreply.github.com>
+Brad Murray <59848399+bradmurray-dt@users.noreply.github.com>
+Brian <mofosyne@gmail.com>
 Bryan Lozano <b.lozano.havoc@gmail.com>
 Carolinabanana <140120812+Carolinabanana@users.noreply.github.com>
+CarterLi999 <664681047@qq.com>
 Cebtenzzre <cebtenzzre@gmail.com>
+Chen Xi <xi2.chen@intel.com>
+Chen Xi <xixichen08@foxmail.com>
+Chris Elrod <elrodc@gmail.com>
+Clint Herron <hanclinto@gmail.com>
+Conrad Kramer <conrad@conradkramer.com>
 Cordeiro <1471463+ocordeiro@users.noreply.github.com>
 Cristiano Calcagno <cristianoc@users.noreply.github.com>
+DAN™ <dranger003@gmail.com>
 Dan Forbes <dan@danforbes.dev>
 Daniel Bevenius <daniel.bevenius@gmail.com>
+Daniel Ziegenberg <daniel@ziegenberg.at>
+Daniele <57776841+daniandtheweb@users.noreply.github.com>
 Daulet Zhanguzin <daulet@users.noreply.github.com>
+Dave <dave-fl@users.noreply.github.com>
+Dave Airlie <airlied@gmail.com>
+Dave Airlie <airlied@redhat.com>
 David Miller <david@patagona.ca>
+DavidKorczynski <david@adalogics.com>
 Davidson Francis <davidsondfgl@gmail.com>
+Dibakar Gope <dibakar.gope@arm.com>
 Didzis Gosko <didzis@users.noreply.github.com>
 Diogo <dgcruz983@gmail.com>
+Djip007 <djip.perois@free.fr>
 Dr. Tom Murphy VII Ph.D <499244+tom7@users.noreply.github.com>
 Ebey Abraham <ebey97@gmail.com>
 Eldar Yusupov <eyusupov@gmail.com>
+Emmanuel Durand <emmanueldurand@protonmail.com>
 Engininja2 <139037756+Engininja2@users.noreply.github.com>
 Erik Scholz <Green-Sky@users.noreply.github.com>
 Ettore Di Giacinto <mudler@users.noreply.github.com>
 Eve <139727413+netrunnereve@users.noreply.github.com>
 F1L1P <78918286+F1L1Pv2@users.noreply.github.com>
+Faisal Zaghloul <quic_fzaghlou@quicinc.com>
 FantasyGmm <16450052+FantasyGmm@users.noreply.github.com>
 Felix <stenbackfelix@gmail.com>
 Finn Voorhees <finnvoorhees@gmail.com>
 GainLee <perfecter.gen@gmail.com>
 George Hindle <george@georgehindle.com>
 Georgi Gerganov <ggerganov@gmail.com>
+Gilad S <giladgd@users.noreply.github.com>
 Guillaume Wenzek <gwenzek@users.noreply.github.com>
 Halalaluyafail3 <55773281+Halalaluyafail3@users.noreply.github.com>
 Herman Semenov <GermanAizek@yandex.ru>
 Hirochika Matsumoto <git@hkmatsumoto.com>
+Hong Bo PENG <penghb@cn.ibm.com>
 Hugo Rosenkranz-Costa <hugo.rosenkranz@gmail.com>
 Hyunsung Lee <ita9naiwa@gmail.com>
 IGUILIZ Salah-Eddine <76955987+salahiguiliz@users.noreply.github.com>
 Ian Bull <irbull@eclipsesource.com>
+Ikko Eltociear Ashimine <eltociear@gmail.com>
+Ivan Filipov <159561759+vanaka11@users.noreply.github.com>
 Ivan Stepanov <ivanstepanovftw@gmail.com>
 Ivan Zdane <accounts@ivanzdane.com>
 Jack Mousseau <jmousseau@users.noreply.github.com>
@@ -62,17 +94,23 @@ JacobLinCool <jacoblincool@gmail.com>
 Jakob Frick <jakob.maria.frick@gmail.com>
 Jan Ploski <jpl@plosquare.com>
 Jared Van Bortel <jared@nomic.ai>
+Jeff Bolz <jbolz@nvidia.com>
 Jeffrey Quesnelle <jquesnelle@gmail.com>
+Jeroen Mostert <jeroen.mostert@cm.com>
 Jiahao Li <liplus17@163.com>
 JidongZhang-THU <1119708529@qq.com>
 Jiří Podivín <66251151+jpodivin@users.noreply.github.com>
 Jo Liss <joliss42@gmail.com>
+Joe Todd <joe.todd@codeplay.com>
 Johannes Gäßler <johannesg@5d6.de>
 John Balis <phobossystems@gmail.com>
 Josh Bleecher Snyder <josharian@gmail.com>
 Judd <foldl@users.noreply.github.com>
+Justina Cho <justcho5@gmail.com>
 Justine Tunney <jtunney@gmail.com>
+Justine Tunney <jtunney@mozilla.com>
 Kawrakow <48489457+ikawrakow@users.noreply.github.com>
+Kevin Gibbons <bakkot@gmail.com>
 Konstantin Zhuravlyov <konstantin.zhuravlyov@amd.com>
 Kylin <56434533+KyL0N@users.noreply.github.com>
 LoganDark <git@logandark.mozmail.com>
@@ -80,17 +118,29 @@ LoganDark <github@logandark.mozmail.com>
 LostRuins <39025047+LostRuins@users.noreply.github.com>
 Lukas Möller <mail@lukas-moeller.ch>
 M. Yusuf Sarıgöz <yusufsarigoz@gmail.com>
+Mahesh Madhav <67384846+heshpdx@users.noreply.github.com>
 MaiHD <maihd.dev@gmail.com>
+Mark Zhuang <zhuangqiubin@gmail.com>
+Markus Tavenrath <mtavenrath@users.noreply.github.com>
+Masaya, Kato <62578291+msy-kato@users.noreply.github.com>
 Mathijs de Bruin <mathijs@mathijsfietst.nl>
+Matt Stephenson <mstephenson6@users.noreply.github.com>
+Max Krasnyansky <max.krasnyansky@gmail.com>
 Mayank Kumar Pal <mynkpl1998@gmail.com>
 Meng, Hengyu <hengyu.meng@intel.com>
+Mengqing Cao <cmq0113@163.com>
 Metal Whale <45712559+metalwhale@users.noreply.github.com>
 Michael Klimenko <mklimenko29@gmail.com>
 Michael Podvitskiy <podvitskiymichael@gmail.com>
 Michael Verrilli <msv@pobox.com>
+Molly Sophia <mollysophia379@gmail.com>
+Natsu <chino@hotococoa.moe>
+Neo Zhang <14088817+arthw@users.noreply.github.com>
 Neo Zhang Jianyu <jianyu.zhang@intel.com>
 Neuman Vong <neuman.vong@gmail.com>
 Nevin <nevinpuri1901@gmail.com>
+Nicholai Tukanov <nicholaitukanov@gmail.com>
+Nico Bosshard <nico@bosshome.ch>
 Nouamane Tazi <nouamane98@gmail.com>
 Olivier Chafik <ochafik@google.com>
 Olivier Chafik <ochafik@users.noreply.github.com>
@@ -101,6 +151,9 @@ Paul Tsochantaris <ptsochantaris@icloud.com>
 Philpax <me@philpax.me>
 Pierre Alexandre SCHEMBRI <pa.schembri@gmail.com>
 Playdev <josang1204@gmail.com>
+Przemysław Pawełczyk <przemoc@gmail.com>
+R0CKSTAR <xiaodong.ye@mthreads.com>
+R0CKSTAR <yeahdongcn@gmail.com>
 Radoslav Gerganov <rgerganov@gmail.com>
 Radosław Gryta <radek.gryta@gmail.com>
 Ravindra Marella <marella@users.noreply.github.com>
@@ -109,15 +162,20 @@ Reinforce-II <fate@eastal.com>
 Reza Rezvan <reza@rezvan.xyz>
 Rick G <26732651+TheFlipbook@users.noreply.github.com>
 RiverZhou <riverzhou2000@gmail.com>
+Ronsor <ronsor@ronsor.pw>
+Rotem Dan <rotemdan@gmail.com>
 Ryan Hitchman <hitchmanr@gmail.com>
+Salvatore Mesoraca <s.mesoraca16@gmail.com>
 Sam Spilsbury <smspillaz@gmail.com>
 Sanchit Gandhi <93869735+sanchit-gandhi@users.noreply.github.com>
 Santtu Keskinen <santtu.keskinen@gmail.com>
 Sergio López <slp@sinrega.org>
 Shijie <821898965@qq.com>
 Siddharth Ramakrishnan <srr2141@columbia.edu>
+Sigbjørn Skjæret <sigbjorn.skjaeret@scala.com>
 Skyler Celestinian-Sterling <80314197+Celestinian@users.noreply.github.com>
 Slava Primenko <primenko.s@gmail.com>
+Srihari-mcw <96763064+Srihari-mcw@users.noreply.github.com>
 Steward Garcia <57494570+FSSRepo@users.noreply.github.com>
 Supreet Sethi <supreet.sethi@gmail.com>
 Takuya Takeuchi <takuya.takeuchi.dev@gmail.com>
@@ -127,38 +185,61 @@ Tanmay Sachan <tnmysachan@gmail.com>
 Timothy Cronin <40186632+4imothy@users.noreply.github.com>
 Tom Bailey <tombailey@users.noreply.github.com>
 Tom Jobbins <784313+TheBloke@users.noreply.github.com>
+Tony Wasserka <4840017+neobrain@users.noreply.github.com>
 Tyé singwa <92231658+tye-singwa@users.noreply.github.com>
 UEXTM.com <84163508+uextm@users.noreply.github.com>
 WillCorticesAI <150854901+WillCorticesAI@users.noreply.github.com>
+William Tambellini <william.tambellini@gmail.com>
+William Tambellini <wtambellini@sdl.com>
 XiaotaoChen <chenxiaotao1234@gmail.com>
+Xuan Son Nguyen <thichthat@gmail.com>
 Yavor Ivanov <yivanov@viewray.com>
 YavorGIvanov <yivanov@viewray.com>
+Yilong Guo <vfirst218@gmail.com>
+Yilong Guo <yilong.guo@intel.com>
+agray3 <agray3@users.noreply.github.com>
 apcameron <37645737+apcameron@users.noreply.github.com>
 appvoid <78444142+appvoid@users.noreply.github.com>
 ariez-xyz <41232910+ariez-xyz@users.noreply.github.com>
 automaticcat <daogiatuank54@gmail.com>
+bandoti <141645996+bandoti@users.noreply.github.com>
 bmwl <brian.marshall@tolko.com>
 bobqianic <129547291+bobqianic@users.noreply.github.com>
 bssrdf <merlintiger@hotmail.com>
 chengchi <davesjoewang@gmail.com>
 compilade <113953597+compilade@users.noreply.github.com>
+compilade <git@compilade.net>
 ddpasa <112642920+ddpasa@users.noreply.github.com>
 denersc <denerstassun@gmail.com>
 dscripka <dscripka@users.noreply.github.com>
 fitzsim <fitzsim@fitzsim.org>
+fraxy-v <65565042+fraxy-v@users.noreply.github.com>
 goerch <jhr.walter@t-online.de>
+goldwaving <77494627+goldwaving@users.noreply.github.com>
 hidenorly <hidenorly@users.noreply.github.com>
+hipudding <huafengchun@gmail.com>
 hydai <z54981220@gmail.com>
 jaeminSon <woalsdnd@gmail.com>
+jdomke <28772296+jdomke@users.noreply.github.com>
+jiez <373447296@qq.com>
 johnson442 <56517414+johnson442@users.noreply.github.com>
+junchao-loongson <68935141+junchao-loongson@users.noreply.github.com>
+k.h.lai <adrian.k.h.lai@outlook.com>
 katsu560 <118887472+katsu560@users.noreply.github.com>
 klosax <131523366+klosax@users.noreply.github.com>
+kunnis <kunnis@users.noreply.github.com>
+l3utterfly <gc.pthzfoldr@gmail.com>
 le.chang <cljs118@126.com>
 leejet <31925346+leejet@users.noreply.github.com>
 leejet <leejet714@gmail.com>
+liuwei-git <14815172+liuwei-git@users.noreply.github.com>
+luoyu-intel <yu.luo@intel.com>
 magicse <magicse@users.noreply.github.com>
+mashizora <30516315+mashizora@users.noreply.github.com>
+matteo <matteogeniaccio@yahoo.it>
 ochafik <ochafik@google.com>
 otaGran <ujt2h8@gmail.com>
+pengxin99 <pengxin.yuan@intel.com>
 pikalover6 <49179590+pikalover6@users.noreply.github.com>
 postmasters <namnguyen@google.com>
 sjinzh <sjinzh@gmail.com>
@@ -168,8 +249,15 @@ snadampal <87143774+snadampal@users.noreply.github.com>
 taher <8665427+nullhook@users.noreply.github.com>
 texmex76 <40733439+texmex76@users.noreply.github.com>
 the-crypt-keeper <84680712+the-crypt-keeper@users.noreply.github.com>
+thewh1teagle <61390950+thewh1teagle@users.noreply.github.com>
+ucag.li <ucag@qq.com>
 ulatekh <ulatekh@yahoo.com>
+wangshuai09 <391746016@qq.com>
+woachk <24752637+woachk@users.noreply.github.com>
 yangyaofei <yangyaofei@gmail.com>
+yuri@FreeBSD <yuri@FreeBSD>
+zhentaoyu <zhentao.yu@intel.com>
 zhouwg <6889919+zhouwg@users.noreply.github.com>
+zhouwg <zhouwg2000@gmail.com>
 布客飞龙 <562826179@qq.com>
 旺旺碎冰冰 <38837039+Cyberhan123@users.noreply.github.com>
index f9da45881e9df4747b65059fa77973db756d8581..9345ea1143243245a40bf23b8add717d29147e23 100644 (file)
@@ -5008,6 +5008,8 @@ static void ggml_vk_test_matmul(ggml_backend_vk_context * ctx, size_t m, size_t
         }
     }
 
+    ggml_pipeline_allocate_descriptor_sets(ctx->device);
+
     vk_buffer d_X = ggml_vk_create_buffer_check(ctx->device, sizeof(X_TYPE) * x_ne, vk::MemoryPropertyFlagBits::eDeviceLocal);
     vk_buffer d_Y = ggml_vk_create_buffer_check(ctx->device, sizeof(Y_TYPE) * y_ne, vk::MemoryPropertyFlagBits::eDeviceLocal);
     vk_buffer d_D = ggml_vk_create_buffer_check(ctx->device, sizeof(float) * d_ne, vk::MemoryPropertyFlagBits::eDeviceLocal);
@@ -5124,7 +5126,9 @@ static void ggml_vk_test_matmul(ggml_backend_vk_context * ctx, size_t m, size_t
 
     avg_err /= m * n;
 
-    std::cerr << "TEST " << shname << " m=" << m << " n=" << n << " k=" << k << " batch=" << batch << " split_k=" << split_k << " matmul " << time / num_it << "ms avg_err=" << avg_err << std::endl;
+    double tflops = 2.0*m*n*k*batch*num_it / (time / 1000.0) / (1000.0*1000.0*1000.0*1000.0);
+
+    std::cerr << "TEST " << shname << " m=" << m << " n=" << n << " k=" << k << " batch=" << batch << " split_k=" << split_k << " matmul " << time / num_it << "ms " << tflops << " TFLOPS avg_err=" << avg_err << std::endl;
 
     if (avg_err > 0.1) {
         std::cerr << "m = " << first_err_m << " n = " << first_err_n << " b = " << first_err_b << std::endl;
@@ -5246,12 +5250,14 @@ static void ggml_vk_test_dequant(ggml_backend_vk_context * ctx, size_t ne, ggml_
 
     ggml_pipeline_request_descriptor_sets(ctx->device, p, 1);
 
+    ggml_pipeline_allocate_descriptor_sets(ctx->device);
+
     ggml_vk_buffer_write(qx_buf, 0, qx, qx_sz);
 
     vk_context subctx = ggml_vk_create_context(ctx, ctx->device->compute_queue);
     ggml_vk_ctx_begin(ctx->device, subctx);
     const std::vector<uint32_t> pc = { 1, (uint32_t)ne, (uint32_t)ne, (uint32_t)ne, (uint32_t)ne };
-    ggml_vk_dispatch_pipeline(ctx, subctx, p, { { qx_buf, 0, qx_sz }, { x_buf, 0, x_sz_f16 } }, pc.size() * sizeof(int), pc.data(), { (uint32_t)ne, 1, 1});
+    ggml_vk_dispatch_pipeline(ctx, subctx, p, { vk_subbuffer{ qx_buf, 0, qx_sz }, vk_subbuffer{ x_buf, 0, x_sz_f16 } }, pc.size() * sizeof(int), pc.data(), { (uint32_t)ne, 1, 1});
     ggml_vk_ctx_end(subctx);
 
     auto begin = std::chrono::high_resolution_clock::now();
@@ -5378,6 +5384,8 @@ static void ggml_vk_test_dequant_matmul(ggml_backend_vk_context * ctx, size_t m,
         }
     }
 
+    ggml_pipeline_allocate_descriptor_sets(ctx->device);
+
     ggml_vk_buffer_write(qx_buf, 0, qx, qx_sz);
     ggml_vk_buffer_write(y_buf, 0, y, y_sz);
 
@@ -5445,7 +5453,9 @@ static void ggml_vk_test_dequant_matmul(ggml_backend_vk_context * ctx, size_t m,
 
     avg_err /= m * n;
 
-    std::cerr << "TEST MMQ " << shname << " m=" << m << " n=" << n << " k=" << k << " batch=" << batch << " split_k=" << split_k << " matmul " << time_ms / num_it << "ms avg_err=" << avg_err << std::endl;
+    double tflops = 2.0*m*n*k*batch*num_it / (time_ms / 1000.0) / (1000.0*1000.0*1000.0*1000.0);
+
+    std::cerr << "TEST MMQ " << shname << " m=" << m << " n=" << n << " k=" << k << " batch=" << batch << " split_k=" << split_k << " matmul " << time_ms / num_it << "ms " << tflops << " TFLOPS avg_err=" << avg_err << std::endl;
 
     if (avg_err > 0.01 || std::isnan(avg_err)) {
         std::cerr << "m = " << first_err_m << " n = " << first_err_n << " b = " << first_err_b << std::endl;
@@ -5497,9 +5507,6 @@ static ggml_tensor_extra_gpu * ggml_vk_tensor_create_extra(ggml_tensor * tensor)
 
 static void ggml_vk_preallocate_buffers(ggml_backend_vk_context * ctx) {
 #if defined(GGML_VULKAN_RUN_TESTS)
-    ctx->staging = ggml_vk_create_buffer_check(ctx->device, 100ul * 1024ul * 1024ul,
-        vk::MemoryPropertyFlagBits::eHostVisible | vk::MemoryPropertyFlagBits::eHostCoherent | vk::MemoryPropertyFlagBits::eHostCached,
-        vk::MemoryPropertyFlagBits::eHostVisible | vk::MemoryPropertyFlagBits::eHostCoherent);
     ggml_vk_test_dequant(ctx, 7680, GGML_TYPE_F32);
     ggml_vk_test_dequant(ctx, 7680, GGML_TYPE_Q4_0);
     ggml_vk_test_dequant(ctx, 7680, GGML_TYPE_Q4_1);