@@ -137,7 +137,9 @@ function ExaModels.ExaModel(
137137end
138138
139139function _conaug_structure! (backend, cons, sparsity)
140- kers (backend)(sparsity, cons. f, cons. itr, cons. oa; ndrange = length (cons. itr))
140+ if ! isempty (cons. itr)
141+ kers (backend)(sparsity, cons. f, cons. itr, cons. oa; ndrange = length (cons. itr))
142+ end
141143 _conaug_structure! (backend, cons. inner, sparsity)
142144 synchronize (backend)
143145end
@@ -214,7 +216,9 @@ function ExaModels.obj(
214216 end
215217end
216218function _obj (backend, objbuffer, obj, x)
217- kerf (backend)(objbuffer, obj. f, obj. itr, x; ndrange = length (obj. itr))
219+ if ! isempty (obj. itr)
220+ kerf (backend)(objbuffer, obj. f, obj. itr, x; ndrange = length (obj. itr))
221+ end
218222 _obj (backend, objbuffer, obj. inner, x)
219223 synchronize (backend)
220224end
@@ -240,7 +244,9 @@ function ExaModels.cons_nln!(
240244 end
241245end
242246function _cons_nln! (backend, y, con:: ExaModels.Constraint , x)
243- kerf (backend)(y, con. f, con. itr, x; ndrange = length (con. itr))
247+ if ! isempty (con. itr)
248+ kerf (backend)(y, con. f, con. itr, x; ndrange = length (con. itr))
249+ end
244250 _cons_nln! (backend, y, con. inner, x)
245251 synchronize (backend)
246252end
252258
253259
254260function _conaugs! (backend, y, con:: ExaModels.ConstraintAug , x)
255- kerf2 (backend)(y, con. f, con. itr, x, con. oa; ndrange = length (con. itr))
261+ if ! isempty (con. itr)
262+ kerf2 (backend)(y, con. f, con. itr, x, con. oa; ndrange = length (con. itr))
263+ end
256264 _conaugs! (backend, y, con. inner, x)
257265 synchronize (backend)
258266end
@@ -479,7 +487,9 @@ function ExaModels.sgradient!(
479487 adj,
480488) where {B<: KernelAbstractions.Backend }
481489
482- return kerg (backend)(y, f. f, f. itr, x, adj; ndrange = length (f. itr))
490+ if ! isempty (f. itr)
491+ kerg (backend)(y, f. f, f. itr, x, adj; ndrange = length (f. itr))
492+ end
483493end
484494
485495function ExaModels. sjacobian! (
@@ -489,8 +499,10 @@ function ExaModels.sjacobian!(
489499 f,
490500 x,
491501 adj,
492- ) where {B<: KernelAbstractions.Backend }
493- return kerj (backend)(y1, y2, f. f, f. itr, x, adj; ndrange = length (f. itr))
502+ ) where {B<: KernelAbstractions.Backend }
503+ if ! isempty (f. itr)
504+ kerj (backend)(y1, y2, f. f, f. itr, x, adj; ndrange = length (f. itr))
505+ end
494506end
495507
496508function ExaModels. shessian! (
@@ -502,7 +514,9 @@ function ExaModels.shessian!(
502514 adj,
503515 adj2,
504516) where {B<: KernelAbstractions.Backend }
505- return kerh (backend)(y1, y2, f. f, f. itr, x, adj, adj2; ndrange = length (f. itr))
517+ if ! isempty (f. itr)
518+ kerh (backend)(y1, y2, f. f, f. itr, x, adj, adj2; ndrange = length (f. itr))
519+ end
506520end
507521
508522function ExaModels. shessian! (
@@ -513,8 +527,10 @@ function ExaModels.shessian!(
513527 x,
514528 adj:: V ,
515529 adj2,
516- ) where {B<: KernelAbstractions.Backend ,V<: AbstractVector }
517- return kerh2 (backend)(y1, y2, f. f, f. itr, x, adj, adj2; ndrange = length (f. itr))
530+ ) where {B<: KernelAbstractions.Backend ,V<: AbstractVector }
531+ if ! isempty (f. itr)
532+ kerh2 (backend)(y1, y2, f. f, f. itr, x, adj, adj2; ndrange = length (f. itr))
533+ end
518534end
519535
520536@kernel function kerh (y1, y2, @Const (f), @Const (itr), @Const (x), @Const (adj1), @Const (adj2))
0 commit comments