Skip to content

The Hermite spline tests fail when changing the degrees of the splines #984

@tretre91

Description

@tretre91

When changing the degrees of the spline using the cmake options DDC_SPLINES_TEST_DEGREE_MIN/MAX, the Hermite spline tests fail.

I configured DDC as follows, with a kokkos using the openmp backend:

cmake -S . -B build_deg_4 -G Ninja -DCMAKE_BUILD_TYPE=Debug -DCMAKE_EXPORT_COMPILE_COMMANDS=ON -DCMAKE_INSTALL_PREFIX=install \
  -DDDC_BUILD_PDI_WRAPPER=OFF -DDDC_BUILD_TESTS=ON -DDDC_BUILD_KERNELS_FFT=OFF \
  -DDDC_BUILD_KERNELS_SPLINES=ON -DDDC_BUILD_EXAMPLES=OFF -DDDC_BUILD_BENCHMARKS=OFF \
  -DDDC_SPLINES_TEST_DEGREE_MIN=4 -DDDC_SPLINES_TEST_DEGREE_MAX=4 \
  -DCMAKE_CXX_FLAGS="-Werror -Wall -Wextra -Wpedantic -Wno-sign-compare -pedantic-errors"

I got these tests failing with TEST_DEGREE_MIN/MAX set to 4 or 5

Test #569: NonPeriodicSplineBuilderTest.Identity
Test #570: NonPeriodicSplineBuilderTest.Identity
Test #571: NonPeriodicSplineBuilderTest.Identity
Test #572: NonPeriodicSplineBuilderTest.Identity
Test #573: NonPeriodicSplineBuilderTest.Identity
Test #574: NonPeriodicSplineBuilderTest.Identity
Test #575: NonPeriodicSplineBuilderTest.Identity
Test #576: NonPeriodicSplineBuilderTest.Identity
Test #577: NonPeriodicSplineBuilderTest.Identity
Test #578: NonPeriodicSplineBuilderTest.Identity
Test #579: NonPeriodicSplineBuilderTest.Identity
Test #580: NonPeriodicSplineBuilderTest.Identity
Test #645: BatchedSplineHostGinkgoHermiteUniform.1DX
Test #646: BatchedSplineHostGinkgoHermiteUniform.2DXB1
Test #647: BatchedSplineHostGinkgoHermiteUniform.2DB1X
Test #648: BatchedSplineHostGinkgoHermiteUniform.3DXB1B2
Test #649: BatchedSplineHostGinkgoHermiteUniform.3DB1XB2
Test #650: BatchedSplineHostGinkgoHermiteUniform.3DB1B2X
Test #651: BatchedSplineDeviceGinkgoHermiteUniform.1DX
Test #652: BatchedSplineDeviceGinkgoHermiteUniform.2DXB1
Test #653: BatchedSplineDeviceGinkgoHermiteUniform.2DB1X
Test #654: BatchedSplineDeviceGinkgoHermiteUniform.3DXB1B2
Test #655: BatchedSplineDeviceGinkgoHermiteUniform.3DB1XB2
Test #656: BatchedSplineDeviceGinkgoHermiteUniform.3DB1B2X
Test #657: BatchedSplineHostGinkgoHermiteNonUniform.1DX
Test #658: BatchedSplineHostGinkgoHermiteNonUniform.2DXB1
Test #659: BatchedSplineHostGinkgoHermiteNonUniform.2DB1X
Test #660: BatchedSplineHostGinkgoHermiteNonUniform.3DXB1B2
Test #661: BatchedSplineHostGinkgoHermiteNonUniform.3DB1XB2
Test #662: BatchedSplineHostGinkgoHermiteNonUniform.3DB1B2X
Test #663: BatchedSplineDeviceGinkgoHermiteNonUniform.1DX
Test #664: BatchedSplineDeviceGinkgoHermiteNonUniform.2DXB1
Test #665: BatchedSplineDeviceGinkgoHermiteNonUniform.2DB1X
Test #666: BatchedSplineDeviceGinkgoHermiteNonUniform.3DXB1B2
Test #667: BatchedSplineDeviceGinkgoHermiteNonUniform.3DB1XB2
Test #668: BatchedSplineDeviceGinkgoHermiteNonUniform.3DB1B2X
Test #717: BatchedSplineHostLapackHermiteUniform.1DX
Test #718: BatchedSplineHostLapackHermiteUniform.2DXB1
Test #719: BatchedSplineHostLapackHermiteUniform.2DB1X
Test #720: BatchedSplineHostLapackHermiteUniform.3DXB1B2
Test #721: BatchedSplineHostLapackHermiteUniform.3DB1XB2
Test #722: BatchedSplineHostLapackHermiteUniform.3DB1B2X
Test #723: BatchedSplineDeviceLapackHermiteUniform.1DX
Test #724: BatchedSplineDeviceLapackHermiteUniform.2DXB1
Test #725: BatchedSplineDeviceLapackHermiteUniform.2DB1X
Test #726: BatchedSplineDeviceLapackHermiteUniform.3DXB1B2
Test #727: BatchedSplineDeviceLapackHermiteUniform.3DB1XB2
Test #728: BatchedSplineDeviceLapackHermiteUniform.3DB1B2X
Test #729: BatchedSplineHostLapackHermiteNonUniform.1DX
Test #730: BatchedSplineHostLapackHermiteNonUniform.2DXB1
Test #731: BatchedSplineHostLapackHermiteNonUniform.2DB1X
Test #732: BatchedSplineHostLapackHermiteNonUniform.3DXB1B2
Test #733: BatchedSplineHostLapackHermiteNonUniform.3DB1XB2
Test #734: BatchedSplineHostLapackHermiteNonUniform.3DB1B2X
Test #735: BatchedSplineDeviceLapackHermiteNonUniform.1DX
Test #736: BatchedSplineDeviceLapackHermiteNonUniform.2DXB1
Test #737: BatchedSplineDeviceLapackHermiteNonUniform.2DB1X
Test #738: BatchedSplineDeviceLapackHermiteNonUniform.3DXB1B2
Test #739: BatchedSplineDeviceLapackHermiteNonUniform.3DB1XB2
Test #740: BatchedSplineDeviceLapackHermiteNonUniform.3DB1B2X
Test #778: Batched2dSplineHostHermiteUniform.2DXY
Test #779: Batched2dSplineHostHermiteUniform.3DXYB
Test #780: Batched2dSplineHostHermiteUniform.3DXBY
Test #781: Batched2dSplineHostHermiteUniform.3DBXY
Test #782: Batched2dSplineDeviceHermiteUniform.2DXY
Test #783: Batched2dSplineDeviceHermiteUniform.3DXYB
Test #784: Batched2dSplineDeviceHermiteUniform.3DXBY
Test #785: Batched2dSplineDeviceHermiteUniform.3DBXY
Test #786: Batched2dSplineHostHermiteNonUniform.2DXY
Test #787: Batched2dSplineHostHermiteNonUniform.3DXYB
Test #788: Batched2dSplineHostHermiteNonUniform.3DXBY
Test #789: Batched2dSplineHostHermiteNonUniform.3DBXY
Test #790: Batched2dSplineDeviceHermiteNonUniform.2DXY
Test #791: Batched2dSplineDeviceHermiteNonUniform.3DXYB
Test #792: Batched2dSplineDeviceHermiteNonUniform.3DXBY
Test #793: Batched2dSplineDeviceHermiteNonUniform.3DBXY
Test #818: Batched3dSplineHostHermiteUniform.3DXYZ
Test #819: Batched3dSplineHostHermiteUniform.4DXYZB
Test #820: Batched3dSplineHostHermiteUniform.4DXBYZ
Test #821: Batched3dSplineHostHermiteUniform.4DXYBZ
Test #822: Batched3dSplineHostHermiteUniform.4DBXYZ
Test #823: Batched3dSplineDeviceHermiteUniform.3DXYZ
Test #824: Batched3dSplineHostHermiteNonUniform.3DXYZ
Test #825: Batched3dSplineHostHermiteNonUniform.4DXYZB
Test #826: Batched3dSplineHostHermiteNonUniform.4DXBYZ
Test #827: Batched3dSplineHostHermiteNonUniform.4DXYBZ
Test #828: Batched3dSplineHostHermiteNonUniform.4DBXYZ
Test #829: Batched3dSplineDeviceHermiteNonUniform.3DXYZ
Test #842: MultipleBatchDomainSplineGinkgoHermiteUniform.1DX
Test #843: MultipleBatchDomainSplineGinkgoHermiteUniform.2DXB
Test #844: MultipleBatchDomainSplineGinkgoHermiteUniform.2DBX
Test #845: MultipleBatchDomainSplineGinkgoHermiteNonUniform.1DX
Test #846: MultipleBatchDomainSplineGinkgoHermiteNonUniform.2DXB
Test #847: MultipleBatchDomainSplineGinkgoHermiteNonUniform.2DBX
Test #860: MultipleBatchDomainSplineLapackHermiteUniform.1DX
Test #861: MultipleBatchDomainSplineLapackHermiteUniform.2DXB
Test #862: MultipleBatchDomainSplineLapackHermiteUniform.2DBX
Test #863: MultipleBatchDomainSplineLapackHermiteNonUniform.1DX
Test #864: MultipleBatchDomainSplineLapackHermiteNonUniform.2DXB
Test #865: MultipleBatchDomainSplineLapackHermiteNonUniform.2DBX
Test #882: MultipleBatchDomain2dSplineHermiteUniform.2DXY
Test #883: MultipleBatchDomain2dSplineHermiteUniform.3DXYB
Test #884: MultipleBatchDomain2dSplineHermiteUniform.3DXBY
Test #885: MultipleBatchDomain2dSplineHermiteUniform.3DBXY
Test #886: MultipleBatchDomain2dSplineHermiteNonUniform.2DXY
Test #887: MultipleBatchDomain2dSplineHermiteNonUniform.3DXYB
Test #888: MultipleBatchDomain2dSplineHermiteNonUniform.3DXBY
Test #889: MultipleBatchDomain2dSplineHermiteNonUniform.3DBXY

For a spline degree of 2 only those ones fail:

Test #569: NonPeriodicSplineBuilderTest.Identity
Test #570: NonPeriodicSplineBuilderTest.Identity
Test #571: NonPeriodicSplineBuilderTest.Identity
Test #572: NonPeriodicSplineBuilderTest.Identity
Test #573: NonPeriodicSplineBuilderTest.Identity
Test #574: NonPeriodicSplineBuilderTest.Identity
Test #575: NonPeriodicSplineBuilderTest.Identity
Test #576: NonPeriodicSplineBuilderTest.Identity
Test #577: NonPeriodicSplineBuilderTest.Identity
Test #578: NonPeriodicSplineBuilderTest.Identity
Test #579: NonPeriodicSplineBuilderTest.Identity
Test #580: NonPeriodicSplineBuilderTest.Identity

Metadata

Metadata

Assignees

No one assigned

    Labels

    Type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions