Vector Optimized Library of Kernels  3.0.0
Architecture-tuned implementations of math kernels
volk.tmpl.h File Reference
#include <volk/volk_typedefs.h>
#include <volk/volk_config_fixed.h>
#include <volk/volk_common.h>
#include <volk/volk_complex.h>
#include <volk/volk_malloc.h>
#include <volk/volk_version.h>
#include <stdlib.h>
#include <stdbool.h>

Go to the source code of this file.

Data Structures

struct  volk_func_desc
 

Macros

#define VOLK_OR_PTR(ptr0, ptr1)    (const void *)(((intptr_t)(ptr0)) | ((intptr_t)(ptr1)))
 

Typedefs

typedef __VOLK_DECL_BEGIN struct volk_func_desc volk_func_desc_t {kern.name}_get_func_desc(void) __attribute__((deprecated))
 Get description parameters for this kernel. More...
 

Functions

VOLK_API void volk_list_machines (void)
 Prints a list of machines available. More...
 
VOLK_API const char * volk_get_machine (void)
 Returns the name of the machine this instance will use. More...
 
VOLK_API size_t volk_get_alignment (void)
 Get the machine alignment in bytes. More...
 
VOLK_API bool volk_is_aligned (const void *ptr)
 

Variables

<% deprecated_kernels=( 'volk_16i_x5_add_quad_16i_x4', 'volk_16i_branch_4_state_8', 'volk_16i_max_star_16i', 'volk_16i_max_star_horizontal_16i', 'volk_16i_permute_and_scalar_add', 'volk_16i_x4_quad_max_star_16i') from platform import system if system()=='Windows':deprecated_kernels=() %> for kern in kernels
 
 VOLK_API {kern.pname} ${kern.name}_a __attribute__((deprecated))
 A function pointer to the fastest aligned implementation. More...
 
VOLK_API void {kern.name}_manual(${kern.arglist_full}, const char* impl_name) __attribute__((deprecated))
 Call into a specific implementation given by name. More...
 
else __pad0__
 

Macro Definition Documentation

◆ VOLK_OR_PTR

#define VOLK_OR_PTR (   ptr0,
  ptr1 
)     (const void *)(((intptr_t)(ptr0)) | ((intptr_t)(ptr1)))

The VOLK_OR_PTR macro is a convenience macro for checking the alignment of a set of pointers. Example usage: volk_is_aligned(VOLK_OR_PTR((VOLK_OR_PTR(p0, p1), p2)))

Typedef Documentation

◆ volk_func_desc_t

VOLK_API volk_func_desc_t {kern.name}_get_func_desc(void) __attribute__((deprecated))

Get description parameters for this kernel.

Function Documentation

◆ volk_get_alignment()

VOLK_API size_t volk_get_alignment ( void  )

Get the machine alignment in bytes.

◆ volk_get_machine()

VOLK_API const char* volk_get_machine ( void  )

Returns the name of the machine this instance will use.

◆ volk_is_aligned()

VOLK_API bool volk_is_aligned ( const void ptr)

Is the pointer on a machine alignment boundary?

Note: for performance reasons, this function is not usable until another volk API call is made which will perform certain initialization tasks.

Parameters
ptrthe pointer to some memory buffer
Returns
1 for alignment boundary, else 0

◆ volk_list_machines()

VOLK_API void volk_list_machines ( void  )

Prints a list of machines available.

Variable Documentation

◆ __pad0__

else __pad0__

◆ kernels

<% deprecated_kernels = ('volk_16i_x5_add_quad_16i_x4', 'volk_16i_branch_4_state_8', 'volk_16i_max_star_16i', 'volk_16i_max_star_horizontal_16i', 'volk_16i_permute_and_scalar_add', 'volk_16i_x4_quad_max_star_16i') from platform import system if system() == 'Windows': deprecated_kernels = () %> for kern in kernels

◆ void

VOLK_API void {kern.name}_manual(${kern.arglist_full}, const char* impl_name) __attribute__((deprecated))
extern

Call into a specific implementation given by name.

◆ VOLK_API

VOLK_API {kern.pname} ${kern.name}_a __attribute__((deprecated))
extern

A function pointer to the fastest aligned implementation.

A function pointer to the fastest unaligned implementation.