Close Print

Optymalizacja GPU nVidii w projekcie Eistein@Home

Comments: Komentarze są wyłączone

Podłączając się do projektu Einstein@Home poprzez BoincManager na nasz komputer zostanie pobrana aplikacja która domyślnie przelicza tylko 1 WU (zadanie do przeliczenia) na raz. Jako że jest to wczesna wersja aplikacji liczący na pewno zauważy, że obciążenie GPU jest bardzo małe, więc czemu nie liczyć 2,3 wu na raz.

To do roboty,

  1. otwieramy swoje konto na Einstein@Home i przechodzimy do ‘Ustawienia Einstein@Home’ tam sprawdzamy czy ‘Use NVIDIA GPU=yes’ (dodatkowo zaznaczyłem ‘Run CPU versions of applications for which GPU versions are available = no, ponieważ nie mam zamiaru liczyc tego projektu na CPU).
  2. Odpalamy BM i dołączamy do projektu Einstein@Home. BM pobiera aplikacje liczącą na GPU (einsteinbinary_BRP3_1.07_windows_intelx86__BRP3cuda32) i pierwsze wu… karta zaczyna liczyć 1 wu … :D
  3. My chcemy więcej wu, więc zamykamy BM zaznaczając opcję „Zamknij aplikację projektów gdy zamykasz Menadżera Boinc”  i otwieramy folder projketu, który najcześciej znajduje się tu:
  4. C:\ProgramData\BOINC\projects\einstein.phys.uwm.edu

    w tym folderze tworzymy za pomoca notatnika plik który podczas zapisu należy nazwać app_info.xml, a jego zawartość powinna wyglądać tak:

    <app_info>
    <app>
    <name>einsteinbinary_BRP3</name>
    <user_friendly_name>Binary Radio Pulsar Search</user_friendly_name>
    </app>

    <file_info>
    <name>einsteinbinary_BRP3_1.07_windows_intelx86__BRP3cuda32.exe</name>
    <executable/>
    </file_info>
    <file_info>
    <name>einsteinbinary_BRP3_1.00_graphics_windows_intelx86.exe</name>
    <executable/>
    </file_info>
    <file_info>
    <name>cudart_xp32_32_16.dll</name>
    <executable/>
    </file_info>
    <file_info>
    <name>cufft_xp32_32_16.dll</name>
    <executable/>
    </file_info>
    <file_info>
    <name>db.dev.win.3d35195e</name>
    </file_info>
    <file_info>
    <name>dbhs.dev.win.3d35195e</name>
    </file_info>

    <app_version>
    <app_name>einsteinbinary_BRP3</app_name>
    <version_num>107</version_num>
    <platform>windows_intelx86</platform>
    <avg_ncpus>0.250000</avg_ncpus>
    <max_ncpus>0.500000</max_ncpus>
    <plan_class>BRP3cuda32</plan_class>
    <api_version>6.13.0</api_version>
    <file_ref>
    <file_name>einsteinbinary_BRP3_1.07_windows_intelx86__BRP3cuda32.exe</file_name>
    <main_program/>
    </file_ref>
    <file_ref>
    <file_name>cudart_xp32_32_16.dll</file_name>
    <open_name>cudart32_32_16.dll</open_name>
    <copy_file/>
    </file_ref>
    <file_ref>
    <file_name>cufft_xp32_32_16.dll</file_name>
    <open_name>cufft32_32_16.dll</open_name>
    <copy_file/>
    </file_ref>
    <file_ref>
    <file_name>einsteinbinary_BRP3_1.00_graphics_windows_intelx86.exe</file_name>
    <open_name>graphics_app</open_name>
    </file_ref>
    <file_ref>
    <file_name>db.dev.win.3d35195e</file_name>
    <open_name>db.dev</open_name>
    <copy_file/>
    </file_ref>
    <file_ref>
    <file_name>dbhs.dev.win.3d35195e</file_name>
    <open_name>dbhs.dev</open_name>
    <copy_file/>
    </file_ref>
    <coproc>
    <type>CUDA</type>
    <count>0.333</count>
    </coproc>
    <gpu_ram>314572800.000000</gpu_ram>
    </app_version>
    </app_info>

    Za ilość liczonych WU jednocześnie odpowiada linia:
    <count>0.333</count>
    0.333 liczymy 3wu od razu – POLECAM TO USTAWIENIE
    0.500 liczymy 2 wu
    1.000 liczymy 1 wu
    0.250 liczymy 4 wu to ustawienie nie jest efektywne, spada obciążenie GPU, zaczyna brakować pamięci – nie polecam
    0.200 liczymy 4 wu, piąte czeka z powodu braku pamięci karty

  5. Po zapisaniu pliku app_info.xml ponownie uruchamiamy BM i cieszymy się efektami naszej pracy.

3Rni


Welcome , today is środa, 28 czerwca 2017