FK20 CUDA
fk20test.cuh File Reference
#include <stdio.h>
#include <unistd.h>
#include "test.h"
Include dependency graph for fk20test.cuh:
This graph shows which files directly or indirectly include this file:

Go to the source code of this file.

Macros

#define FK20_TEST_CUH
 

Functions

void FK20TestFFT ()
 
void FK20TestPoly ()
 
void FK20TestFFTRand (FILE *inputStream)
 
void fk20_poly2toeplitz_coefficients_test (fr_t polynomial[4096], fr_t toeplitz_coefficients[16][512])
 Test for fk20_poly2toeplitz_coefficients: polynomial -> toeplitz_coefficients. More...
 
void fk20_poly2hext_fft_test (fr_t polynomial_l[4096], g1p_t xext_fft_l[16][512], g1p_t hext_fft_l[512])
 Test for fk20_poly2hext_fft: polynomial -> hext_fft. More...
 
void fk20_poly2h_fft_test (fr_t polynomial_l[4096], g1p_t xext_fft_l[16][512], g1p_t h_fft_l[512])
 Test for fk20_poly2h_fft: polynomial -> h_fft. More...
 
void fk20_msmloop (g1p_t hext_fft_l[512], fr_t toeplitz_coefficients_fft_l[16][512], g1p_t xext_fft_l[16][512])
 Test for fk20_msm: Toeplitz_coefficients+xext_fft -> hext_fft. More...
 
void toeplitz_coefficients2toeplitz_coefficients_fft (fr_t toeplitz_coefficients_l[16][512], fr_t toeplitz_coefficients_fft_l[16][512])
 Test for fr_fft: toeplitz_coefficients -> toeplitz_coefficients_fft. More...
 
void h2h_fft (g1p_t h_l[512], g1p_t h_fft_l[512])
 Test for g1p_fft: h -> h_fft. More...
 
void h_fft2h (g1p_t h_fft_l[512], g1p_t h_l[512])
 Test for g1p_ift: h_fft -> h. More...
 
void hext_fft2h (g1p_t hext_fft_l[512], g1p_t h_l[512])
 Test for g1p_ift: hext_fft -> h. More...
 
void hext_fft2h_fft (g1p_t hext_fft_l[512], g1p_t h_fft_l[512])
 Test for fk20_hext_fft2h_fft: hext_fft -> h_fft. More...
 
void fullTest ()
 
void fullTestFalsifiability ()
 
void varMangle (fr_t *target, size_t size, unsigned step)
 swap elements at positions multiple of step. Nondestructive, call a second time to undo the changes More...
 
void varMangle (g1p_t *target, size_t size, unsigned step)
 swap elements at positions multiple of step. Nondestructive, call a second time to undo the changes More...
 

Macro Definition Documentation

◆ FK20_TEST_CUH

#define FK20_TEST_CUH

Definition at line 6 of file fk20test.cuh.

Function Documentation

◆ fk20_msmloop()

void fk20_msmloop ( g1p_t  hext_fft_l[512],
fr_t  toeplitz_coefficients_fft_l[16][512],
g1p_t  xext_fft_l[16][512] 
)

Test for fk20_msm: Toeplitz_coefficients+xext_fft -> hext_fft.

Parameters
hext_fft_l
toeplitz_coefficients_fft_l
xext_fft_l

Definition at line 372 of file fk20test_poly.cu.

Here is the caller graph for this function:

◆ fk20_poly2h_fft_test()

void fk20_poly2h_fft_test ( fr_t  polynomial_l[4096],
g1p_t  xext_fft_l[16][512],
g1p_t  h_fft_l[512] 
)

Test for fk20_poly2h_fft: polynomial -> h_fft.

Parameters
[in]polynomial_l
[in]xext_fft_l
[in]h_fft_l

Definition at line 332 of file fk20test_poly.cu.

Here is the caller graph for this function:

◆ fk20_poly2hext_fft_test()

void fk20_poly2hext_fft_test ( fr_t  polynomial_l[4096],
g1p_t  xext_fft_l[16][512],
g1p_t  hext_fft_l[512] 
)

Test for fk20_poly2hext_fft: polynomial -> hext_fft.

Parameters
[in]polynomial_l
[in]xext_fft_l
[in]hext_fft_l

Definition at line 292 of file fk20test_poly.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fk20_poly2toeplitz_coefficients_test()

void fk20_poly2toeplitz_coefficients_test ( fr_t  polynomial_l[4096],
fr_t  toeplitz_coefficients_l[16][512] 
)

Test for fk20_poly2toeplitz_coefficients: polynomial -> toeplitz_coefficients.

Parameters
[in]polynomial_l
[in]toeplitz_coefficients_l

Definition at line 251 of file fk20test_poly.cu.

Here is the caller graph for this function:

◆ FK20TestFFT()

void FK20TestFFT ( )

Executes the tests where the transformation is only an (inverted) FFT

Definition at line 24 of file fk20test_fft.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ FK20TestFFTRand()

void FK20TestFFTRand ( FILE *  inputStream)

Definition at line 40 of file fk20test_fft_rand.cu.

◆ FK20TestPoly()

void FK20TestPoly ( )

Executes the tests if the subfunctions that either execute more than one step, or that execute an operation other than (i)FFT

Definition at line 24 of file fk20test_poly.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fullTest()

void fullTest ( )

Executes a full FK20 computation on a single row. Checking each step. A computation failure will not cause a cascade effect, eliminating false-failures due to data dependencies.

Definition at line 44 of file fk20test_poly.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ fullTestFalsifiability()

void fullTestFalsifiability ( )

Similar to fullTest, but polynomial is has a few values changed. The function checks for false-positives in the tests.

polynomial is restored after execution.

Definition at line 140 of file fk20test_poly.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ h2h_fft()

void h2h_fft ( g1p_t  h_l[512],
g1p_t  h_fft_l[512] 
)

Test for g1p_fft: h -> h_fft.

Parameters
[in]h_l
[in]h_fft_l

Definition at line 79 of file fk20test_fft.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ h_fft2h()

void h_fft2h ( g1p_t  h_fft_l[512],
g1p_t  h_l[512] 
)

Test for g1p_ift: h_fft -> h.

Parameters
[in]h_fft_l
[in]h_l

Definition at line 115 of file fk20test_fft.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hext_fft2h()

void hext_fft2h ( g1p_t  hext_fft_l[512],
g1p_t  h_l[512] 
)

Test for g1p_ift: hext_fft -> h.

Parameters
[in]hext_fft_l
[in]h_l

Definition at line 150 of file fk20test_fft.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ hext_fft2h_fft()

void hext_fft2h_fft ( g1p_t  hext_fft_l[512],
g1p_t  h_fft_l[512] 
)

Test for fk20_hext_fft2h_fft: hext_fft -> h_fft.

Parameters
[in]hext_fft_l
[in]h_fft_l

Definition at line 184 of file fk20test_fft.cu.

Here is the call graph for this function:
Here is the caller graph for this function:

◆ toeplitz_coefficients2toeplitz_coefficients_fft()

void toeplitz_coefficients2toeplitz_coefficients_fft ( fr_t  toeplitz_coefficients_l[16][512],
fr_t  toeplitz_coefficients_fft_l[16][512] 
)

Test for fr_fft: toeplitz_coefficients -> toeplitz_coefficients_fft.

Parameters
[in]toeplitz_coefficients_l
[in]toeplitz_coefficients_fft_l

Definition at line 44 of file fk20test_fft.cu.

Here is the caller graph for this function:

◆ varMangle() [1/2]

void varMangle ( fr_t target,
size_t  size,
unsigned  step 
)

swap elements at positions multiple of step. Nondestructive, call a second time to undo the changes

Parameters
[out]targetPointer to array
[in]sizelength of the array
[in]stepdistance between elements swapped.

Definition at line 730 of file fk20_512test.cu.

Here is the caller graph for this function:

◆ varMangle() [2/2]

void varMangle ( g1p_t target,
size_t  size,
unsigned  step 
)

swap elements at positions multiple of step. Nondestructive, call a second time to undo the changes

Parameters
[out]targetPointer to array
[in]sizelength of the array
[in]stepdistance between elements swapped.

Definition at line 752 of file fk20_512test.cu.