Compadre
1.2.0
|
#include <Compadre_Config.h>
#include "Compadre_LinearAlgebra_Definitions.hpp"
#include <assert.h>
#include <Kokkos_Timer.hpp>
#include <Kokkos_Core.hpp>
Go to the source code of this file.
Functions | |
int | main (int argc, char *args[]) |
This tests whether or not the LAPACK+BLAS combination is safe to have a parallel_for wrapping them If they are not threadsafe, then nothing in this toolkit will work and another library will have be provided that is threadsafe. More... | |
int main | ( | int | argc, |
char * | args[] | ||
) |
This tests whether or not the LAPACK+BLAS combination is safe to have a parallel_for wrapping them If they are not threadsafe, then nothing in this toolkit will work and another library will have be provided that is threadsafe.
Standard GMLS Example.
Manifold GMLS Example.
Creates num_matrices copies of a matrix P and RHS P has dimensions P_rows x P_cols RHS has dimensions RHS_rows x RHS_cols
P*X=RHS is an overdetermined system from the perspective of rows to columns But it is underdetermined in the sense that it actually has a large nullspace because we fill P with ones, and RHS with ones.
The result is that solution should be 1 / P_cols for each entry in RHS
This is a fairly easy exercise for dgelsd in LAPACK, but if LAPACK+BLAS are not thread safe, then this will fail to get the correct answer.
If this test fails, then either a different LAPACK library should be provided or compiled. If you are compiling, be sure to add the -frecursive see https://github.com/xianyi/OpenBLAS/issues/477
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Setting Up The GMLS Object]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
[Parse Command Line Arguments]
[Setting Up The Point Cloud]
[Setting Up The Point Cloud]
[Creating The Data]
[Creating The Data]
[Performing Neighbor Search]
[Performing Neighbor Search]
[Setting Up The GMLS Object]
[Setting Up The GMLS Object]
[Apply GMLS Alphas To Data]
[Apply GMLS Alphas To Data]
[Check That Solutions Are Correct]
[Check That Solutions Are Correct]
[Finalize Program]
Definition at line 36 of file UnitTest_ThreadedLapack.cpp.