Skip to content

Commit 2c09ad3

Browse files
authored
[DFT] Constrain data_type in compute_*ward real-real inplace (#544)
* [DFT] Constrain data_type in compute_*ward real-real inplace * The compute_*ward real-real implace overload can be selected when the user intends to use the complex-complex out-of-place overload. * This suggestion stops this from happening when the user uses non-float arguments that are presumably intended for the complex-complex overload. * Use consistent wording; Align changes to 80 column limit * Missing data_desc; Source formating #2
1 parent d8121f0 commit 2c09ad3

2 files changed

Lines changed: 57 additions & 27 deletions

File tree

source/elements/oneMKL/source/domains/dft/compute_backward.rst

Lines changed: 27 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -108,13 +108,15 @@ compute_backward (Buffer version)
108108
inout_re
109109
``sycl::buffer`` object of sufficient capacity to store the elements
110110
defining the real parts of all the relevant data sequences, as configured
111-
by ``desc``. Only with complex descriptors configured for in-place operations with
111+
by ``desc``. ``data_type`` must be single or double precision floating-point, as
112+
described by the descriptor's precision. Only with complex descriptors configured for in-place operations with
112113
:ref:`onemkl_dft_complex_storage_real_real`.
113114

114115
inout_im
115116
``sycl::buffer`` object of sufficient capacity to store the elements
116117
defining the imaginary parts of all the relevant data sequences, as
117-
configured by ``desc``. Only with complex descriptors configured for in-place
118+
configured by ``desc``. ``data_type`` must be single or double precision floating-point, as
119+
described by the descriptor's precision. Only with complex descriptors configured for in-place
118120
operations with :ref:`onemkl_dft_complex_storage_real_real`.
119121

120122
in
@@ -149,14 +151,18 @@ compute_backward (Buffer version)
149151
inout_re
150152
``sycl::buffer`` object of sufficient capacity to store the elements
151153
defining the real parts of all the relevant data sequences, as configured
152-
by ``desc``. Only with complex descriptors configured for in-place operations with
154+
by ``desc``. ``data_type`` must be single or double precision
155+
floating-point, as described by the descriptor's precision. Only with
156+
complex descriptors configured for in-place operations with
153157
:ref:`onemkl_dft_complex_storage_real_real`.
154158

155159
inout_im
156160
``sycl::buffer`` object of sufficient capacity to store the elements
157161
defining the imaginary parts of all the relevant data sequences, as
158-
configured by ``desc``. Only with complex descriptors configured for in-place
159-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
162+
configured by ``desc``. ``data_type`` must be single or double precision
163+
floating-point, as described by the descriptor's precision. Only with
164+
complex descriptors configured for in-place operations with
165+
:ref:`onemkl_dft_complex_storage_real_real`.
160166

161167
out
162168
``sycl::buffer`` object of sufficient capacity to store the elements
@@ -267,14 +273,18 @@ compute_backward (USM version)
267273
inout_re
268274
Pointer to USM allocation of sufficient capacity to store the elements
269275
defining the real parts of all the relevant data sequences, as configured
270-
by ``desc``. Only with complex descriptors configured for in-place operations with
276+
by ``desc``. ``data_type`` must be single or double precision
277+
floating-point, as described by the descriptor's precision. Only with
278+
complex descriptors configured for in-place operations with
271279
:ref:`onemkl_dft_complex_storage_real_real`.
272280

273281
inout_im
274282
Pointer to USM allocation of sufficient capacity to store the elements
275283
defining the imaginary parts of all the relevant data sequences, as
276-
configured by ``desc``. Only with complex descriptors configured for in-place
277-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
284+
configured by ``desc``. ``data_type`` must be single or double precision
285+
floating-point, as described by the descriptor's precision. Only with
286+
complex descriptors configured for in-place operations with
287+
:ref:`onemkl_dft_complex_storage_real_real`.
278288

279289
in
280290
Pointer to USM allocation of sufficient capacity to store the elements
@@ -311,15 +321,19 @@ compute_backward (USM version)
311321

312322
inout_re
313323
Pointer to USM allocation of sufficient capacity to store the elements
314-
defining the real parts of all the relevant data sequences, as
315-
configured by ``desc``. Only with complex descriptors configured for in-place
316-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
324+
defining the real parts of all the relevant data sequences, as configured
325+
by ``desc``. ``data_type`` must be single or double precision
326+
floating-point, as described by the descriptor's precision. Only with
327+
complex descriptors configured for in-place operations with
328+
:ref:`onemkl_dft_complex_storage_real_real`.
317329

318330
inout_im
319331
Pointer to USM allocation of sufficient capacity to store the elements
320332
defining the imaginary parts of all the relevant data sequences, as
321-
configured by ``desc``. Only with complex descriptors configured for in-place
322-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
333+
configured by ``desc``. ``data_type`` must be single or double precision
334+
floating-point, as described by the descriptor's precision. Only with
335+
complex descriptors configured for in-place operations with
336+
:ref:`onemkl_dft_complex_storage_real_real`.
323337

324338
out
325339
Pointer to USM allocation of sufficient capacity to store the elements

source/elements/oneMKL/source/domains/dft/compute_forward.rst

Lines changed: 30 additions & 14 deletions
Original file line numberDiff line numberDiff line change
@@ -107,15 +107,19 @@ compute_forward (Buffer version)
107107

108108
inout_re
109109
``sycl::buffer`` object of sufficient capacity to store the elements
110-
defining the real parts of all the relevant data sequences, as
111-
configured by ``desc``. Only with complex descriptors configured for in-place
112-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
110+
defining the real parts of all the relevant data sequences, as configured
111+
by ``desc``. ``data_type`` must be single or double precision
112+
floating-point, as described by the descriptor's precision. Only with
113+
complex descriptors configured for in-place operations with
114+
:ref:`onemkl_dft_complex_storage_real_real`.
113115

114116
inout_im
115117
``sycl::buffer`` object of sufficient capacity to store the elements
116118
defining the imaginary parts of all the relevant data sequences, as
117-
configured by ``desc``. Only with complex descriptors configured for in-place
118-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
119+
configured by ``desc``. ``data_type`` must be single or double precision
120+
floating-point, as described by the descriptor's precision. Only with
121+
complex descriptors configured for in-place operations with
122+
:ref:`onemkl_dft_complex_storage_real_real`.
119123

120124
in
121125
``sycl::buffer`` object of sufficient capacity to store the elements
@@ -149,14 +153,18 @@ compute_forward (Buffer version)
149153
inout_re
150154
``sycl::buffer`` object of sufficient capacity to store the elements
151155
defining the real parts of all the relevant data sequences, as configured
152-
by ``desc``. Only with complex descriptors configured for in-place operations with
156+
by ``desc``. ``data_type`` must be single or double precision
157+
floating-point, as described by the descriptor's precision. Only with
158+
complex descriptors configured for in-place operations with
153159
:ref:`onemkl_dft_complex_storage_real_real`.
154160

155161
inout_im
156162
``sycl::buffer`` object of sufficient capacity to store the elements
157163
defining the imaginary parts of all the relevant data sequences, as
158-
configured by ``desc``. Only with complex descriptors configured for in-place
159-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
164+
configured by ``desc``. ``data_type`` must be single or double precision
165+
floating-point, as described by the descriptor's precision. Only with
166+
complex descriptors configured for in-place operations with
167+
:ref:`onemkl_dft_complex_storage_real_real`.
160168

161169
out
162170
``sycl::buffer`` object of sufficient capacity to store the elements
@@ -267,14 +275,18 @@ compute_forward (USM version)
267275
inout_re
268276
Pointer to USM allocation of sufficient capacity to store the elements
269277
defining the real parts of all the relevant data sequences, as configured
270-
by ``desc``. Only with complex descriptors configured for in-place operations with
278+
by ``desc``. ``data_type`` must be single or double precision
279+
floating-point, as described by the descriptor's precision. Only with
280+
complex descriptors configured for in-place operations with
271281
:ref:`onemkl_dft_complex_storage_real_real`.
272282

273283
inout_im
274284
Pointer to USM allocation of sufficient capacity to store the elements
275285
defining the imaginary parts of all the relevant data sequences, as
276-
configured by ``desc``. Only with complex descriptors configured for in-place
277-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
286+
configured by ``desc``. ``data_type`` must be single or double precision
287+
floating-point, as described by the descriptor's precision. Only with
288+
complex descriptors configured for in-place operations with
289+
:ref:`onemkl_dft_complex_storage_real_real`.
278290

279291
in
280292
Pointer to USM allocation of sufficient capacity to store the elements
@@ -312,14 +324,18 @@ compute_forward (USM version)
312324
inout_re
313325
Pointer to USM allocation of sufficient capacity to store the elements
314326
defining the real parts of all the relevant data sequences, as configured
315-
by ``desc``. Only with complex descriptors configured for in-place operations with
327+
by ``desc``. ``data_type`` must be single or double precision
328+
floating-point, as described by the descriptor's precision. Only with
329+
complex descriptors configured for in-place operations with
316330
:ref:`onemkl_dft_complex_storage_real_real`.
317331

318332
inout_im
319333
Pointer to USM allocation of sufficient capacity to store the elements
320334
defining the imaginary parts of all the relevant data sequences, as
321-
configured by ``desc``. Only with complex descriptors configured for in-place
322-
operations with :ref:`onemkl_dft_complex_storage_real_real`.
335+
configured by ``desc``. ``data_type`` must be single or double precision
336+
floating-point, as described by the descriptor's precision. Only with
337+
complex descriptors configured for in-place operations with
338+
:ref:`onemkl_dft_complex_storage_real_real`.
323339

324340
out
325341
Pointer to USM allocation of sufficient capacity to store the elements

0 commit comments

Comments
 (0)