Vector Optimized Library of Kernels 3.2.0
Architecture-tuned implementations of math kernels
Loading...
Searching...
No Matches
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)

Typedefs

typedef __VOLK_DECL_BEGIN struct volk_func_desc volk_func_desc_t

Functions

VOLK_API void volk_list_machines (void)
 Prints a list of machines available.
VOLK_API const char * volk_get_machine (void)
 Returns the name of the machine this instance will use.
VOLK_API size_t volk_get_alignment (void)
 Get the machine alignment in bytes.
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', 'volk_32fc_s32fc_multiply_32fc', 'volk_32fc_s32fc_x2_rotator_32fc', 'volk_32fc_x2_s32fc_multiply_conjugate_add_32fc') 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.
else __pad0__

Macro Definition Documentation

◆ VOLK_OR_PTR

#define VOLK_OR_PTR ( ptr0,
ptr1 )
Value:
(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

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

◆ $

<% this_machine=machine_dict[args[0]] %><% arch_names=this_machine.arch_names %> for arch in this_machine<% this_machine_name="\""+this_machine.name+"\"" %> for kern in<% make_impl_name_list="{"+', '.join(['"%s"'%i.name for i in impls])+"}" %><% make_impl_deps_list="{"+', '.join(['|'.join(['(1<< LV_%s)'%d.upper() for d in i.deps]) for i in impls])+"}" %><% make_impl_align_list="{"+', '.join([ 'true' if i.is_aligned else 'false' for i in impls])+"}" %><% make_impl_fcn_list="{"+', '.join(['%s_%s'%(kern.name, i.name) for i in impls])+"}" %><% len_impls=len(impls) %> $ {kern.pname} ${kern.name}_a __attribute__((deprecated))
extern

A function pointer to the fastest aligned implementation.

Get description parameters for this kernel.

Call into a specific implementation given by name.

A function pointer to the fastest unaligned implementation.

◆ __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', 'volk_32fc_s32fc_multiply_32fc', 'volk_32fc_s32fc_x2_rotator_32fc', 'volk_32fc_x2_s32fc_multiply_conjugate_add_32fc') from platform import system if system() == 'Windows': deprecated_kernels = () %> for kern in kernels