-
PROHARDVER!
Új hozzászólás Aktív témák
-
válasz
husztiimi #20810 üzenetére
> Ha meg át lesznek téve, akkor majd megmérjük, hogy mi legideálisabb inputtól függő választás? openMP + GPU? MPI + GPU? MPI + openMP + GPU
Ezeket szerintem ki lehet számolni, következik a feladat struktúrájából. Például belefér-e a mátrix a GPU memóriájába? Ha igen, mennyi idő megcsinálni vs mennyi idő 1) feltölteni 2) odavinni a node-ra? Ha jól láttam, 200 gbps interkonnekt van, azért az nem nagyon gyors (késleltetést nem tudom). Szóval én először biztos csinálnék papíron egy esztimaciot.
-
proci985
MODERÁTOR
válasz
husztiimi #20810 üzenetére
Ezért mondtam, hogy én ránéznék az authorlistákra. Nekem is volt, hogy egy PhD thesisből vagy egy régi repoból kellett visszafejteni mit csináltak, de még mindig egyszerűbb, mint ilyen szinten belemászni az optimizációba.
Egyébként adott esetben megpróbálni felvenni a kapcsolatot az authorokkal is működhet.
-
proci985
MODERÁTOR
válasz
husztiimi #20805 üzenetére
(nem mozgok HPC területen)
leírás alapján tippre lehet bele kéne nyúlni a pipelinebe, hogy nyerjetek is valamit.
GPUn mátrix transzformációnak gyorsabbnak kéne lennie, de a kérdés, hogy mennyi idő megy el az adatmozgatással.
ha kutatási terület, én ránéznék a környezeti publikációkra, hogy ki futtat hasonló HPC környezetben. cikkeknél nem mindig írják le, hogy mit hogy oldottak meg tartalmi okok miatt, de pl egy master vagy phd thesis esetén van esély, hogy lesz egy github repo és egy rendes leírás is.
-
coco2
őstag
válasz
husztiimi #20802 üzenetére
A chatgpt google skill-t helyettesíteni jó, azon túl teljesen megbízhatatlan. Olyan esetekben használható, amikor semmi sem múlik azon, hogy működni fog-e, vagy sem.
Chat gpt vicc:
eval(await OpenAI("fix this:"+ErrorMessage))
Kicsit komolyabban a 10k sor önmagában úgy hangzik, mint 2 emberhónapnyi munka. Ha azon egy szoftver cég kiakad, húzza le a rolót. Ami konkrétan azt a 10k sort illeti, a kérdés inkább az, létezik-e még elő ember, dokumentáció, szájhagyomány útján terjedő akármi, amiből meg lehet érteni a bemeneti adatot, és a feldolgozásának a miértjét? Ha már nem létezik, akkor az a probléma nem arra van tervezve, hogy azt bárki megoldja. Aki mégis azzal foglalkozik, fordítva ül a lovon.
Ja igen, "szuperszámítógépen futtatjuk" - az a napi nagyot mondás gyakorlatod volt?
-
válasz
husztiimi #20797 üzenetére
o3-high-t probaltad?
program cusolver_demo use iso_c_binding implicit none interface function cusolverDnCreate(handle) bind(C, name="cusolverDnCreate") import :: c_ptr, c_int type(c_ptr), intent(out) :: handle integer(c_int) :: cusolverDnCreate end function cusolverDnCreate function cusolverDnDestroy(handle) bind(C, name="cusolverDnDestroy") import :: c_ptr, c_int type(c_ptr), value :: handle integer(c_int) :: cusolverDnDestroy end function cusolverDnDestroy function cusolverDnDsyevd(handle, jobz, uplo, n, d_A, lda, d_W, d_work, lwork, d_devInfo) & bind(C, name="cusolverDnDsyevd") import :: c_ptr, c_int, c_double, c_char type(c_ptr), value :: handle character(c_char), value :: jobz character(c_char), value :: uplo integer(c_int), value :: n type(c_ptr) :: d_A integer(c_int), value :: lda type(c_ptr) :: d_W type(c_ptr) :: d_work integer(c_int), intent(inout) :: lwork type(c_ptr) :: d_devInfo integer(c_int) :: cusolverDnDsyevd end function cusolverDnDsyevd function cusolverDnDsyevd_bufferSize(handle, jobz, uplo, n, d_A, lda, d_W, lwork) & bind(C, name="cusolverDnDsyevd_bufferSize") import :: c_ptr, c_int, c_char type(c_ptr), value :: handle character(c_char), value :: jobz character(c_char), value :: uplo integer(c_int), value :: n type(c_ptr) :: d_A integer(c_int), value :: lda type(c_ptr) :: d_W integer(c_int), intent(out) :: lwork integer(c_int) :: cusolverDnDsyevd_bufferSize end function cusolverDnDsyevd_bufferSize end interface integer(c_int) :: n, lda, lwork, status type(c_ptr) :: handle type(c_ptr) :: d_A, d_W, d_work, d_devInfo real(c_double), allocatable :: h_A(:,:), h_W(:) character(c_char) :: jobz, uplo integer :: i, j n = 100 lda = n allocate(h_A(n,n)) allocate(h_W(n)) do i = 1, n do j = 1, n h_A(i,j) = i + j end do end do jobz = 'V' uplo = 'U' status = cusolverDnCreate(handle) if (status /= 0) then write(*,*) "Hiba: cusolverDnCreate" stop end if ! GPU-memória allokálás, pl.: ! call cudaMalloc(d_A, n*n*sizeof(real(c_double))) ! call cudaMalloc(d_W, n*sizeof(real(c_double))) ! Másolás: h_A -> d_A (cudaMemcpy) ! Lekérdezzük a szükséges workspace méretet: status = cusolverDnDsyevd_bufferSize(handle, jobz, uplo, n, d_A, lda, d_W, lwork) if (status /= 0) then write(*,*) "Hiba: Buffer méret lekérdezés" stop end if ! GPU workspace allokálása a lwork méret alapján: ! call cudaMalloc(d_work, lwork*sizeof(real(c_double))) ! call cudaMalloc(d_devInfo, sizeof(integer(c_int))) ! Eigen-dekompozíció meghívása: status = cusolverDnDsyevd(handle, jobz, uplo, n, d_A, lda, d_W, d_work, lwork, d_devInfo) if (status /= 0) then write(*,*) "Hiba: cusolverDnDsyevd" stop end if ! Eredmények visszamásolása: pl. ! call cudaMemcpy(h_W, d_W, n*sizeof(real(c_double)), cudaMemcpyDeviceToHost) ! Ha az eigenvektorokra is szükség van: call cudaMemcpy(h_A, d_A, n*n*sizeof(real(c_double)), cudaMemcpyDeviceToHost) ! GPU erőforrások felszabadítása: ! call cudaFree(d_A); call cudaFree(d_W); call cudaFree(d_work); call cudaFree(d_devInfo) status = cusolverDnDestroy(handle) if (status /= 0) then write(*,*) "Hiba: cusolverDnDestroy" end if write(*,*) "Eigenértékek:" write(*,*) h_W end program cusolver_demo
Új hozzászólás Aktív témák
Hirdetés
● olvasd el a téma összefoglalót!
- AKCIÓ! GAMER PC: Új RYZEN 5 4500-5600X +RTX 3060/3070/3080 +Új 16-64GB DDR4! GAR/SZÁMLA! 50 FÉLE HÁZ
- UHH! HP EliteBook 840 G8 Fémházas Laptop 14" -45% i5-1145G7 4Mag 32/512 FHD IPS Intel Iris Xe Magyar
- Xiaomi Redmi Note 13 Pro 5G - 8/256 - Media Markt garancia
- Xiaomi Redmi 9at - 2/32 - szürke
- Xiaomi Mi8 - 6/128 - fekete
- Lenovo ThinkPad L15 Gen 2 - 15.6" FullHD IPS - i5-1135G7 - 8GB - 256GB SSD - Win11 - MAGYAR
- Bomba ár! Lenovo ThinkPad T470s - i5-6GEN I 8GB I 256GB SSD I 14" FHD I Cam I W10 I Garancia!
- BESZÁMÍTÁS! MSI B450M R7 5700X 16GB DDR4 512GB SSD RTX 3060 12GB Rampage SHIVA Chieftec 600W
- BESZÁMÍTÁS! 4TB Samsung 870 EVO SATA SSD meghajtó garanciával hibátlan működéssel
- LG 45GR95QE - 45" Ívelt OLED / 2K WQHD / 240Hz 0.03ms / NVIDIA G-Sync / FreeSync Premium / HDMI 2.1
Állásajánlatok
Cég: Promenade Publishing House Kft.
Város: Budapest
Cég: CAMERA-PRO Hungary Kft
Város: Budapest