blob: 69374baf8b0de68f0a30d71adc16526ff81b3d7b (
plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
|
/* -*- Mode: C++; tab-width: 4; indent-tabs-mode: nil; c-basic-offset: 4 -*- */
/*
* This file is part of the LibreOffice project.
*
* This Source Code Form is subject to the terms of the Mozilla Public
* License, v. 2.0. If a copy of the MPL was not distributed with this
* file, You can obtain one at http://mozilla.org/MPL/2.0/.
*/
#include <com/sun/star/sheet/opencl/OpenCLPlatform.idl>
module com { module sun { module star { module sheet { module opencl {
interface XOpenCLSelection : com::sun::star::uno::XInterface
{
/**
* Returns true if calculation with OpenCL is enabled (at all).
* The actual use of OpenCL for a formula is also affected by the
* configuration settings specifying whether OpenCL is used for
* all opcodes or just for a subset, and the deny- and allowlists
* of OpenCL implementations that are in use.
*/
boolean isOpenCLEnabled();
/**
* Enables or disables use of OpenCL for calculations. When using
* this API to enable OpenCL the configuration parameters are set
* to their built-in default values, not ones read from the
* installation of user-specific configuration.
*/
void enableOpenCL( [in] boolean enable );
/**
* Enables automatic OpenCL Device Selection
* @param force forces a new evaluation of the best device
*/
void enableAutomaticDeviceSelection( [in] boolean force );
/**
* Disables automatic OpenCL Device Selection
*/
void disableAutomaticDeviceSelection();
/**
* Select the OpenCL device with the given platform and device
* number. The platform number corresponds to an index into the
* sequence returned by getOpenCLPlatforms, and the device number
* corresponds to an index into the sequence of devices in that
* platform.
*/
void selectOpenCLDevice( [in] long platform, [in] long device );
/**
* returns the index of the platform of the currently selected
* device. This is an index into the sequence that
* getOpenCLPlatforms returns in the current instance of
* LibreOffice (and not some a priori defined identifier for an
* OpenCL platform).
*/
long getPlatformID();
/**
* returns the index of the currently selected device. This is an
* index into the sequence of devices in the OpenCLPLatform object
* the device is part of in the current instance of LibreOffice
* (and not some a priori defined identifier for a specific model
* of device accessed through a specific platform).
*/
long getDeviceID();
/**
* lists all OpenCL devices and platforms
*/
sequence< OpenCLPlatform > getOpenCLPlatforms();
/*
* Sets OpenCL to be considered only for formulas that use only a specific subset of opcodes.
*/
void enableOpcodeSubsetTest();
/*
* Sets OpenCL to be considered for formulas regardless of what opcodes they contain.
*/
void disableOpcodeSubsetTest();
/*
* Returns whether OpenCL is considered or not depending on the opcodes a formula uses.
*/
boolean isOpcodeSubsetTested();
/*
* Sets the lower limit on the size of a formula group for OpenCL to be considered. (Sorry, the name is misleading.)
*/
void setFormulaCellNumberLimit( [in] long number );
/*
* Returns the lower limit on the size of a formula group for OpenCL to be considered.
*/
long getFormulaCellNumberLimit();
};
}; }; }; }; };
/* vim:set shiftwidth=4 softtabstop=4 expandtab: */
|