TEST_F(MTK_Kokkos, calculate_centroid_field_with_gather_on_device_flat)
{
    MyApp app;

    GpuGatherFlatScratchData scratch(app.choice);
    scratch.initialize(*app.bulk, *app.coords, app.centroid, app.meta.locally_owned_part());

    CentroidCalculator<GpuGatherFlatScratchData> calculator(scratch);
    
    app.start_timer();
    calculator.calculate_centroids(app.num_repeat, app.choice, app.teamSize);
    app.stop_timer();
    app.report_bandwidth();

    calculator.copy_centroids_to_host();
//    calculator.test_centroid_of_element_1();

    for(unsigned elementIndex=0; elementIndex<scratch.hostElemEntities.extent(0); ++elementIndex) {
        calculator.test_centroid_of_element(app.hostCentroid, scratch.hostElemEntities(elementIndex), elementIndex);
    }
}