Changes between Version 41 and Version 42 of AppCoprocessor


Ignore:
Timestamp:
Jul 8, 2013, 2:45:41 PM (11 years ago)
Author:
davea
Comment:

--

Legend:

Unmodified
Added
Removed
Modified
  • AppCoprocessor

    v41 v42  
    22= Applications that use coprocessors =
    33BOINC supports applications that use coprocessors.
    4 The supported coprocessor types (as of [24404])are NVIDIA and ATI GPUs.
     4The supported coprocessor types are NVIDIA, AMD, and Intel GPUs.
    55
    66The BOINC client probes for coprocessors and reports them in scheduler requests.
    7 The client keeps track of coprocessor allocation, i.e. how many instances of each are free.
    8 It only runs an app if enough instances are available.
     7The client keeps track of coprocessor allocation, i.e. which instances of each are free.
     8When it turns a GPU app, it assigns it to a free instance.
    99
    1010You can develop your application using any programming system,
     
    2121boinc_temporary_exit(60);
    2222}}}
    23 This will exit the application, and will tell the BOINC client to restart
     23This exits the application and tells the BOINC client to restart
    2424it again in at least 60 seconds,
    2525at which point memory may be available.
     
    5050}}}
    5151
    52 == Cleanup on premature exit ==
     52== Do GPU kernels within critical sections ==
    5353
    5454The BOINC client may kill your application during execution.
    55 This may leave the GPU in a bad state.
    56 To prevent this, call
     55If a GPU kernel is in progress at this point, a system crash or hang may occur.
     56To prevent this, do GPU kernels within a critical section, e.g.
    5757
    5858{{{
    5959boinc_begin_critical_section();
    60 }}}
    61 before using the GPU, and between GPU kernels do
    62 
    63 {{{
    64 if (boinc_status.quit_request || boinc_status.abort_request) {
    65     // cudaThreadSynchronize(); or whatever is needed
    66     boinc_end_critical_section();
    67     exit(0);
    68 }
     60... do GPU kernel
     61boinc_end_critical_section();
    6962}}}
    7063