code: def build_gpu_data_structure(
      self,
      packet_nr_to_dofs,
      max_thread_costs,
      old2new_fetch_indices,
      csr_mat,
      thread_count,
      thread_assignments,
      local_row_costs,
  ):
      # these arrays will likely be too long, but that's ok
  
      from .pkt_build import build_pkt_structure
  
      build_pkt_structure(
          self,
          packet_nr_to_dofs,
          thread_assignments,
          # thread_starts,
          # thread_ends,
          # index_array,
          # data_array,
      )
  
file_path: pycuda/pycuda/sparse/packeted.py
imports: from __future__ import division
  from __future__ import absolute_import
  from __future__ import print_function
  from pytools import memoize_method
  import pycuda.gpuarray
  from pycuda.compiler import SourceModule
  import numpy
label_desc: Use image node_id 5 for calling the PacketedSpMV obj's underlying member method code with example usage: obj.build_gpu_data_structure(packet_nr_to_dofs, max_thread_costs, old2new_fetch_indices, csr_mat, thread_count, thread_assignments, local_row_costs) without return types