@@ -5,72 +5,48 @@ using ADTypes: ADTypes
55using DifferentiationInterface, DifferentiationInterfaceTest
66import DifferentiationInterfaceTest as DIT
77using Enzyme: Enzyme
8- using SparseConnectivityTracer, SparseMatrixColorings
98using Test
109
1110LOGGING = get (ENV , " CI" , " false" ) == " false"
1211
13- dense_backends = [
12+ backends = [
1413 AutoEnzyme (; mode= nothing ),
1514 AutoEnzyme (; mode= Enzyme. Forward),
1615 AutoEnzyme (; mode= Enzyme. Reverse),
1716 AutoEnzyme (; mode= Enzyme. Forward, function_annotation= Enzyme. Const),
1817 AutoEnzyme (; mode= Enzyme. Reverse, function_annotation= Enzyme. Const),
1918]
2019
21- duplicated_function_backends = [
20+ duplicated_backends = [
2221 AutoEnzyme (; mode= Enzyme. Forward, function_annotation= Enzyme. Duplicated),
2322 AutoEnzyme (; mode= Enzyme. Reverse, function_annotation= Enzyme. Duplicated),
2423]
2524
26- sparse_backends =
27- AutoSparse .(
28- dense_backends[1 : 3 ],
29- sparsity_detector= TracerSparsityDetector (),
30- coloring_algorithm= GreedyColoringAlgorithm (),
31- )
32-
3325@testset " Checks" begin
34- @testset " Check $(typeof (backend)) " for backend in vcat (dense_backends, sparse_backends)
26+ @testset " Check $(typeof (backend)) " for backend in backends
3527 @test check_available (backend)
3628 @test check_inplace (backend)
3729 end
3830end ;
3931
40- # # Dense backends
32+ # # First order
4133
42- test_differentiation (
43- dense_backends, default_scenarios (); second_order= false , logging= LOGGING
44- );
34+ test_differentiation (backends, default_scenarios (); second_order= false , logging= LOGGING);
4535
4636test_differentiation (
47- dense_backends [1 : 3 ],
37+ backends [1 : 3 ],
4838 default_scenarios (; include_normal= false , include_constantified= true );
4939 second_order= false ,
5040 logging= LOGGING,
5141);
5242
5343test_differentiation (
54- duplicated_function_backends ,
44+ duplicated_backends ,
5545 default_scenarios (; include_normal= false , include_closurified= true );
5646 second_order= false ,
5747 logging= LOGGING,
5848);
5949
60- test_differentiation (
61- [AutoEnzyme (; mode= nothing ), AutoEnzyme (; mode= Enzyme. Reverse)];
62- first_order= false ,
63- excluded= [:second_derivative ],
64- logging= LOGGING,
65- );
66-
67- test_differentiation (
68- [AutoEnzyme (; mode= nothing ), AutoEnzyme (; mode= Enzyme. Forward)];
69- first_order= false ,
70- excluded= [:hessian , :hvp ],
71- logging= LOGGING,
72- );
73-
7450#=
7551# TODO : reactivate type stability tests
7652
@@ -84,20 +60,37 @@ test_differentiation(
8460);
8561=#
8662
87- # # Sparse backends
63+ # # Second order
8864
8965test_differentiation (
90- sparse_backends,
91- default_scenarios ();
92- excluded= [:derivative , :gradient , :pullback , :pushforward , :second_derivative , :hvp ],
93- second_order= false , # TODO : make true
66+ AutoEnzyme (),
67+ default_scenarios (; include_constantified= true );
68+ first_order= false ,
9469 logging= LOGGING,
9570);
9671
9772test_differentiation (
98- sparse_backends,
99- sparse_scenarios ();
100- sparsity= true ,
101- second_order= false , # TODO : make true
73+ AutoEnzyme (; mode= Enzyme. Forward);
74+ first_order= false ,
75+ excluded= [:hessian , :hvp ],
76+ logging= LOGGING,
77+ );
78+
79+ test_differentiation (
80+ AutoEnzyme (; mode= Enzyme. Reverse);
81+ first_order= false ,
82+ excluded= [:second_derivative ],
83+ logging= LOGGING,
84+ );
85+
86+ test_differentiation (
87+ SecondOrder (AutoEnzyme (; mode= Enzyme. Reverse), AutoEnzyme (; mode= Enzyme. Forward));
88+ first_order= false ,
10289 logging= LOGGING,
10390);
91+
92+ # # Sparse
93+
94+ test_differentiation (
95+ MyAutoSparse .(AutoEnzyme ()), sparse_scenarios (); sparsity= true , logging= LOGGING
96+ );
0 commit comments