Highly Efficient FFT for Exascale: HeFFTe v2.4
Loading...
Searching...
No Matches
heffte::transpose_packer< tag::cpu > Struct Reference

Transpose packer that packs sub-boxes without transposing, but unpacks applying a transpose operation. More...

#include <heffte_pack3d.h>

Public Member Functions

template<typename scalar_type , typename index >
void pack (void *q, pack_plan_3d< index > const &plan, scalar_type const data[], scalar_type buffer[]) const
 Execute the planned pack operation.
 
template<typename scalar_type , typename index >
void unpack (void *, pack_plan_3d< index > const &plan, scalar_type const buffer[], scalar_type data[]) const
 Execute the planned unpack operation.
 

Detailed Description

Transpose packer that packs sub-boxes without transposing, but unpacks applying a transpose operation.

Member Function Documentation

◆ unpack()

template<typename scalar_type , typename index >
void heffte::transpose_packer< tag::cpu >::unpack ( void * ,
pack_plan_3d< index > const & plan,
scalar_type const buffer[],
scalar_type data[] ) const
inline

Execute the planned unpack operation.

Note that this will transpose the data in the process. The transpose is done in blocks to maximize cache reuse.


The documentation for this struct was generated from the following file: