6 #ifndef DEVICE_BIT_PACKING_HELPERS_H_ 7 #define DEVICE_BIT_PACKING_HELPERS_H_ 20 void __device__ __host__
__fastunpack0 (
const uint32_t * in, uint32_t * out);
21 void __device__ __host__
__fastunpack1 (
const uint32_t * in, uint32_t * out);
22 void __device__ __host__
__fastunpack2 (
const uint32_t * in, uint32_t * out);
23 void __device__ __host__
__fastunpack3 (
const uint32_t * in, uint32_t * out);
24 void __device__ __host__
__fastunpack4 (
const uint32_t * in, uint32_t * out);
25 void __device__ __host__
__fastunpack5 (
const uint32_t * in, uint32_t * out);
26 void __device__ __host__
__fastunpack6 (
const uint32_t * in, uint32_t * out);
27 void __device__ __host__
__fastunpack7 (
const uint32_t * in, uint32_t * out);
28 void __device__ __host__
__fastunpack8 (
const uint32_t * in, uint32_t * out);
29 void __device__ __host__
__fastunpack9 (
const uint32_t * in, uint32_t * out);
30 void __device__ __host__
__fastunpack10(
const uint32_t * in, uint32_t * out);
31 void __device__ __host__
__fastunpack11(
const uint32_t * in, uint32_t * out);
32 void __device__ __host__
__fastunpack12(
const uint32_t * in, uint32_t * out);
33 void __device__ __host__
__fastunpack13(
const uint32_t * in, uint32_t * out);
34 void __device__ __host__
__fastunpack14(
const uint32_t * in, uint32_t * out);
35 void __device__ __host__
__fastunpack15(
const uint32_t * in, uint32_t * out);
36 void __device__ __host__
__fastunpack16(
const uint32_t * in, uint32_t * out);
37 void __device__ __host__
__fastunpack17(
const uint32_t * in, uint32_t * out);
38 void __device__ __host__
__fastunpack18(
const uint32_t * in, uint32_t * out);
39 void __device__ __host__
__fastunpack19(
const uint32_t * in, uint32_t * out);
40 void __device__ __host__
__fastunpack20(
const uint32_t * in, uint32_t * out);
41 void __device__ __host__
__fastunpack21(
const uint32_t * in, uint32_t * out);
42 void __device__ __host__
__fastunpack22(
const uint32_t * in, uint32_t * out);
43 void __device__ __host__
__fastunpack23(
const uint32_t * in, uint32_t * out);
44 void __device__ __host__
__fastunpack24(
const uint32_t * in, uint32_t * out);
45 void __device__ __host__
__fastunpack25(
const uint32_t * in, uint32_t * out);
46 void __device__ __host__
__fastunpack26(
const uint32_t * in, uint32_t * out);
47 void __device__ __host__
__fastunpack27(
const uint32_t * in, uint32_t * out);
48 void __device__ __host__
__fastunpack28(
const uint32_t * in, uint32_t * out);
49 void __device__ __host__
__fastunpack29(
const uint32_t * in, uint32_t * out);
50 void __device__ __host__
__fastunpack30(
const uint32_t * in, uint32_t * out);
51 void __device__ __host__
__fastunpack31(
const uint32_t * in, uint32_t * out);
52 void __device__ __host__
__fastunpack32(
const uint32_t * in, uint32_t * out);
54 void __fastpack0 (
const uint32_t * in, uint32_t * out);
55 void __fastpack1 (
const uint32_t * in, uint32_t * out);
56 void __fastpack2 (
const uint32_t * in, uint32_t * out);
57 void __fastpack3 (
const uint32_t * in, uint32_t * out);
58 void __fastpack4 (
const uint32_t * in, uint32_t * out);
59 void __fastpack5 (
const uint32_t * in, uint32_t * out);
60 void __fastpack6 (
const uint32_t * in, uint32_t * out);
61 void __fastpack7 (
const uint32_t * in, uint32_t * out);
62 void __fastpack8 (
const uint32_t * in, uint32_t * out);
63 void __fastpack9 (
const uint32_t * in, uint32_t * out);
122 void __device__ __host__
__integratedfastunpack0(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
123 void __device__ __host__
__integratedfastunpack1(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
124 void __device__ __host__
__integratedfastunpack2(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
125 void __device__ __host__
__integratedfastunpack3(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
126 void __device__ __host__
__integratedfastunpack4(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
127 void __device__ __host__
__integratedfastunpack5(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
128 void __device__ __host__
__integratedfastunpack6(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
129 void __device__ __host__
__integratedfastunpack7(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
130 void __device__ __host__
__integratedfastunpack8(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
131 void __device__ __host__
__integratedfastunpack9(
const uint32_t initoffset,
const uint32_t * in, uint32_t * out);
194 __device__ __host__
static void inline 195 fastunpack(
const uint32_t * in, uint32_t * out,
const uint32_t bit)
306 fastpack(
const uint32_t * in, uint32_t * out,
const uint32_t bit)
527 __device__ __host__
static void inline 642 uint32_t * out,
const uint32_t bit)
752 template <
class T>
static 753 void delta(
const T initoffset, T *data,
const size_t size) {
757 for (
size_t i = size - 1; i > 0; --i) {
758 data[i] -= data[i - 1];
760 data[0] -= initoffset;
763 template <
size_t size,
class T>
764 static void delta(
const T initoffset, T *data) {
768 for (
size_t i = size - 1; i > 0; --i) {
769 data[i] -= data[i - 1];
771 data[0] -= initoffset;
775 static void inverseDelta(
const T initoffset, T *data,
const size_t size) {
778 data[0] += initoffset;
779 const size_t UnrollQty = 4;
781 (size / UnrollQty) * UnrollQty;
783 if (sz0 >= UnrollQty) {
785 for (; i < sz0 - UnrollQty; i += UnrollQty) {
787 a = data[i + 1] += a;
788 a = data[i + 2] += a;
789 a = data[i + 3] += a;
792 for (; i != size; ++i) {
793 data[i] += data[i - 1];
796 template <
size_t size,
class T>
800 data[0] += initoffset;
801 const size_t UnrollQty = 4;
803 (size / UnrollQty) * UnrollQty;
805 if (sz0 >= UnrollQty) {
807 for (; i < sz0 - UnrollQty; i += UnrollQty) {
809 a = data[i + 1] += a;
810 a = data[i + 2] += a;
811 a = data[i + 3] += a;
814 for (; i != size; ++i) {
815 data[i] += data[i - 1];
820 uint32_t *out,
const uint32_t bit) {
821 if (Qty % BlockSize) {
822 throw std::logic_error(
"Incorrect # of entries.");
824 uint32_t initoffset = 0;
826 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
829 initoffset = *(in + k * BlockSize + BlockSize - 1);
833 static void inline pack(uint32_t *in,
const size_t Qty, uint32_t *out,
834 const uint32_t bit) {
835 if (Qty % BlockSize) {
836 throw std::logic_error(
"Incorrect # of entries.");
838 uint32_t initoffset = 0;
840 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
841 const uint32_t nextoffset = *(in + k * BlockSize + BlockSize - 1);
843 delta<BlockSize,uint32_t>(initoffset, in + k *
BlockSize);
844 fastpack(in + k * BlockSize, out + k * bit, bit);
845 initoffset = nextoffset;
850 uint32_t *out,
const uint32_t bit) {
851 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
852 fastpack(in + k * BlockSize, out + k * bit, bit);
856 static void inline unpack(
const uint32_t *in,
const size_t Qty, uint32_t *out,
857 const uint32_t bit) {
858 if (Qty % BlockSize) {
859 throw std::logic_error(
"Incorrect # of entries.");
861 uint32_t initoffset = 0;
863 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
864 fastunpack(in + k * bit, out + k * BlockSize, bit);
866 inverseDelta<BlockSize,uint32_t>(initoffset, out + k *
BlockSize);
867 initoffset = *(out + k * BlockSize + BlockSize - 1);
872 uint32_t *out,
const uint32_t bit) {
873 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
874 fastunpack(in + k * bit, out + k * BlockSize, bit);
879 uint32_t *out,
const uint32_t bit) {
880 if (Qty % BlockSize) {
881 throw std::logic_error(
"Incorrect # of entries.");
883 uint32_t initoffset = 0;
885 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
886 const uint32_t nextoffset = *(in + k * BlockSize + BlockSize - 1);
888 delta<BlockSize,uint32_t>(initoffset, in + k *
BlockSize);
890 initoffset = nextoffset;
896 const uint32_t bit) {
897 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
902 static void inline iunpack(
const uint32_t *in,
const size_t Qty,
903 uint32_t *out,
const uint32_t bit) {
904 if (Qty % BlockSize) {
905 throw std::logic_error(
"Incorrect # of entries.");
908 uint32_t initoffset = 0;
909 for (
size_t k = 0; k < Qty /
BlockSize; ++k) {
911 initoffset = *(out + k * BlockSize + BlockSize - 1);
915 static void CheckMaxDiff(
const std::vector<uint32_t> &refdata,
unsigned bit) {
916 for (
size_t i = 1; i < refdata.size(); ++i) {
917 if (
gccbits(refdata[i] - refdata[i - 1]) > bit)
918 throw std::runtime_error(
"bug");
922 static inline uint32_t
gccbits(
const uint32_t v) {
923 return v == 0 ? 0 : 32 - __builtin_clz(v);
void __device__ __host__ __integratedfastunpack28(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static uint32_t gccbits(const uint32_t v)
void __device__ __host__ __integratedfastunpack2(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void delta(const T initoffset, T *data)
void __fastpack29(const uint32_t *in, uint32_t *out)
void __integratedfastpack14(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack20(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack12(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack5(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack32(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack14(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask3(const uint32_t *in, uint32_t *out)
void __fastpack20(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack31(const uint32_t *in, uint32_t *out)
__device__ static __host__ void integratedfastunpack(const uint32_t initoffset, const uint32_t *in, uint32_t *out, const uint32_t bit)
void __integratedfastpack1(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
__device__ static __host__ void fastunpack(const uint32_t *in, uint32_t *out, const uint32_t bit)
void __fastpack14(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack25(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack32(const uint32_t, const uint32_t *in, uint32_t *out)
static void ipackwithoutmask(const uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __device__ __host__ __fastunpack15(const uint32_t *in, uint32_t *out)
This is the top-level namespace of the project.
void __device__ __host__ __fastunpack23(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack18(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack4(const uint32_t *in, uint32_t *out)
void __integratedfastpack10(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void delta(const T initoffset, T *data, const size_t size)
void __integratedfastpack18(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack17(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack7(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask6(const uint32_t *in, uint32_t *out)
void __fastpack7(const uint32_t *in, uint32_t *out)
static void packWithoutDelta(uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __device__ __host__ __fastunpack20(const uint32_t *in, uint32_t *out)
void __fastpack22(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask1(const uint32_t *in, uint32_t *out)
void __integratedfastpack23(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask16(const uint32_t *in, uint32_t *out)
void __integratedfastpack28(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void packwithoutmaskWithoutDelta(uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __device__ __host__ __integratedfastunpack4(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack27(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void packwithoutmask(uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __fastpackwithoutmask23(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask24(const uint32_t *in, uint32_t *out)
void __fastpack21(const uint32_t *in, uint32_t *out)
void __integratedfastpack19(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask22(const uint32_t *in, uint32_t *out)
void __fastpack30(const uint32_t *in, uint32_t *out)
void __fastpack5(const uint32_t *in, uint32_t *out)
void __fastpack9(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack8(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack19(const uint32_t *in, uint32_t *out)
void __integratedfastpack15(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack1(const uint32_t *in, uint32_t *out)
void __fastpack23(const uint32_t *in, uint32_t *out)
static void inverseDelta(const T initoffset, T *data)
static void fastpack(const uint32_t *in, uint32_t *out, const uint32_t bit)
void __device__ __host__ __fastunpack12(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack26(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack27(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static const unsigned BlockSize
void __device__ __host__ __fastunpack21(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack19(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack12(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask11(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack25(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask18(const uint32_t *in, uint32_t *out)
void __fastpack26(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack26(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask9(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack16(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack30(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack15(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack17(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void fastpackwithoutmask(const uint32_t *in, uint32_t *out, const uint32_t bit)
void __device__ __host__ __fastunpack24(const uint32_t *in, uint32_t *out)
void __fastpack32(const uint32_t *in, uint32_t *out)
static void unpackWithoutDelta(const uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __device__ __host__ __integratedfastunpack11(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask31(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack27(const uint32_t *in, uint32_t *out)
void __integratedfastpack24(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack3(const uint32_t *in, uint32_t *out)
void __integratedfastpack5(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack13(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack15(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack13(const uint32_t *in, uint32_t *out)
void __integratedfastpack22(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack2(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack11(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack18(const uint32_t *in, uint32_t *out)
static void iunpack(const uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __fastpack10(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask4(const uint32_t *in, uint32_t *out)
void __fastpack2(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack29(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask19(const uint32_t *in, uint32_t *out)
void __fastpack4(const uint32_t *in, uint32_t *out)
static void pack(uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __fastpackwithoutmask8(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack14(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack11(const uint32_t *in, uint32_t *out)
void __integratedfastpack11(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack31(const uint32_t *in, uint32_t *out)
void __integratedfastpack20(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask28(const uint32_t *in, uint32_t *out)
void __integratedfastpack29(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack8(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask13(const uint32_t *in, uint32_t *out)
void __fastpack16(const uint32_t *in, uint32_t *out)
void __fastpack1(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack22(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack30(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void unpack(const uint32_t *in, const size_t Qty, uint32_t *out, const uint32_t bit)
void __fastpackwithoutmask12(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack31(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack3(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack5(const uint32_t *in, uint32_t *out)
void __integratedfastpack25(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack17(const uint32_t *in, uint32_t *out)
void __integratedfastpack32(const uint32_t, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask2(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask14(const uint32_t *in, uint32_t *out)
void __fastpack12(const uint32_t *in, uint32_t *out)
static void inverseDelta(const T initoffset, T *data, const size_t size)
void __fastpack18(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask0(const uint32_t *, uint32_t *)
void __device__ __host__ __integratedfastunpack24(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack23(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask20(const uint32_t *in, uint32_t *out)
void __integratedfastpack7(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack3(const uint32_t *in, uint32_t *out)
void __fastpack13(const uint32_t *in, uint32_t *out)
void __integratedfastpack0(const uint32_t, const uint32_t *, uint32_t *)
void __device__ __host__ __fastunpack22(const uint32_t *in, uint32_t *out)
void __integratedfastpack17(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack21(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask15(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask7(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask29(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack10(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask32(const uint32_t *in, uint32_t *out)
void __integratedfastpack8(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack0(const uint32_t *, uint32_t *out)
void __fastpackwithoutmask30(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack1(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack3(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack9(const uint32_t *in, uint32_t *out)
void __fastpack6(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask5(const uint32_t *in, uint32_t *out)
void __integratedfastpack31(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack26(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask26(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack6(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack19(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask27(const uint32_t *in, uint32_t *out)
void __integratedfastpack9(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask21(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack7(const uint32_t *in, uint32_t *out)
static void CheckMaxDiff(const std::vector< uint32_t > &refdata, unsigned bit)
void __device__ __host__ __fastunpack29(const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack8(const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask10(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack16(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack28(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack21(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
static void integratedfastpackwithoutmask(const uint32_t initoffset, const uint32_t *in, uint32_t *out, const uint32_t bit)
void __device__ __host__ __integratedfastunpack9(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask17(const uint32_t *in, uint32_t *out)
void __integratedfastpack6(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack25(const uint32_t *in, uint32_t *out)
void __device__ __host__ __integratedfastunpack6(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack24(const uint32_t *in, uint32_t *out)
void __integratedfastpack4(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __device__ __host__ __fastunpack30(const uint32_t *in, uint32_t *out)
void __host__ __device__ __integratedfastunpack0(const uint32_t initoffset, const uint32_t *__restrict__, uint32_t *__restrict__ out)
void __fastpack0(const uint32_t *, uint32_t *)
void __device__ __host__ __integratedfastunpack10(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __integratedfastpack16(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpackwithoutmask25(const uint32_t *in, uint32_t *out)
void __integratedfastpack13(const uint32_t initoffset, const uint32_t *in, uint32_t *out)
void __fastpack28(const uint32_t *in, uint32_t *out)
void __fastpack27(const uint32_t *in, uint32_t *out)
void __integratedfastpack2(const uint32_t initoffset, const uint32_t *in, uint32_t *out)