Changes between Version 44 and Version 45 of AppCoprocessor
- Timestamp:
- Jul 30, 2014, 2:28:27 PM (10 years ago)
Legend:
- Unmodified
- Added
- Removed
- Modified
-
AppCoprocessor
v44 v45 1 1 [[PageOutline]] 2 2 = Applications that use coprocessors = 3 BOINC supports applications that use coprocessors.4 The supported coprocessor types are NVIDIA, AMD, and Intel GPUs.5 3 6 The BOINC client probes for coprocessors and reports them in scheduler requests. 4 BOINC supports applications that use coprocessors such as GPUs. 5 The BOINC client maintains a list of the coprocessors on the host. 6 It detects NVIDIA, AMD, and Intel GPUs, as well as OpenCL coprocessors. 7 Volunteers can specify other coprocessor types in the 8 [http://boinc.berkeley.edu/wiki/Client_configuration#Options cc_config.xml configuration file] . 9 10 The client reports coprocessors in scheduler requests; 11 the scheduler tries to send jobs that use available coprocessors. 7 12 The client keeps track of coprocessor allocation, i.e. which instances of each are free. 8 When it turns a GPU app, it assigns it to a free instance.13 When it runs a GPU app, it assigns it to a free instance. 9 14 10 15 You can develop your application using any programming system, … … 28 33 29 34 Some hosts have multiple GPUs. 30 When your application is run by BOINC, it receives information 31 about which GPU instance to use. 32 This is passed as a command-line argument 35 The BOINC client tells your application which instance to use. 36 Call '''boinc_get_init_data()''' to get an APP_INIT_DATA structure; 37 the device number (0, 1, ...) is in the '''gpu_device_num''' field. 33 38 34 {{{ 35 --device N 36 }}} 37 where N is the device number of the GPU that is to be used. 38 If your application uses multiple GPUs, it will be passed multiple --device arguments, e.g. 39 Old (pre-7.0.12) clients pass the device number via a command-line argument, '''--device N'''. 40 In this case API_INIT_DATA::gpu_device_num will be -1, 41 and your application must check its command-line args. 39 42 40 {{{ 41 --device 0 --device 3 42 }}} 43 '''Note:''' The use of this command-line argument is deprecated. New applications should 44 instead use the value of gpu_device_num passed in the APP_INIT_DATA structure returned 45 by '''boinc_get_init_data()'''. 46 47 Some OpenCL apps can use either NVIDIA, ATI or Intel GPUs, 48 so they must also be told which type of GPU to use. 49 This is also passed in the APP_INIT_DATA structure. 50 {{{ 51 char gpu_type[64]; // "NVIDIA" or "ATI" or "intel_gpu" 52 int gpu_device_num; 53 }}} 54 OpenCL apps should not use the command line argument, but should instead call 43 OpenCL apps should use 55 44 the '''boinc_get_opencl_ids()''' API as described 56 45 [http://boinc.berkeley.edu/trac/wiki/OpenclApps here].