Hirdetés
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- Meggyi001: Eldugott helyek Párizsban, amiket jó eséllyel még nem láttál... 3. rész
- Luck Dragon: Asszociációs játék. :)
- Ndruu: Segíts kereshetővé tenni a PH-s arcképeket!
- GoodSpeed: 3I/Atlas: Üstökös vagy idegen civilizáció űrhajója?
- Sub-ZeRo: Euro Truck Simulator 2 & American Truck Simulator 1 (esetleg 2 majd, ha lesz) :)
- gban: Ingyen kellene, de tegnapra
- kraftxld: Diáklaptop - Dell Latitude 3140 - Királyunk ajándéka
- sh4d0w: Árnyékos sarok
-
LOGOUT

Új hozzászólás Aktív témák
-
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
● olvasd el a téma összefoglalót!
- Vezetékes FEJhallgatók
- QNAP hálózati adattárolók (NAS)
- Samsung Galaxy S23 Ultra - non plus ultra
- PlayStation 5
- LEGO klub
- Hivatalos a OnePlus 13 startdátuma
- S.T.A.L.K.E.R. 2: Heart of Chornobyl
- Autós topik látogatók beszélgetős, offolós topikja
- sziku69: Fűzzük össze a szavakat :)
- sziku69: Szólánc.
- További aktív témák...
- Bomba ár! Dell Latitude 3410 - i3-10110U I 8GB I 256SSD I HDMI I 13,3" FHD Touch I Cam I W11 I Gari
- Bomba ár! Dell Latitude E5550 - i5-5GEN I 8GB I 128SSD I 15,6" FHD Touch I HDMI I W10 I Cam I Gari!
- Bomba ár! Dell Latitude E5540 - i5-4GEN I 4GB I 240SSD I Nvidia I 15,6" FHD I Cam I W10 I Garancia!
- Olcsón Google Nest Mini 2nd Gen
- Bomba ár! Dell Latitude E5530 - i5-3GEN I 4GB I 320GB I HDMI I 15,6" HD I W10 I Gari!
- HP 200W töltők (19.5V 10.3A) kis kék, kerek, 4.5x3.0mm, 928429-002
- BESZÁMÍTÁS! ASUS H510M i3 10105F 16GB DDR4 512GB SSD RX 590 8GB ZALMAN T4 Plus ADATA 600W
- Ikea Eilif Paraván, asztali elválasztó
- Lenovo LOQ 15IRH8 - 15.6"FHD IPS 144Hz - i5-12450H - 16GB - 512GB - RTX 4050 - Win11 PRO - 1 év gari
- Keresek Xbox Series S / Series X / Playstation 5 konzolokat
Állásajánlatok
Cég: PCMENTOR SZERVIZ KFT.
Város: Budapest
Cég: Laptopműhely Bt.
Város: Budapest


