You are an expert in writing code in many different languages. Your goal is to perform code completion for the following code, keeping in mind the rest of the code and the file meta data.
    Metadata details:
    filename: Index_vpsa.m
    path of file: ./repos/StiffMa/tbx/StiffMa/Vector
    
    the code of the file until where you have to start completion: function [iK, jK] = Index_vpsa(elements, sets)
% INDEX_VPSA Compute the row/column indices of tril(K) in a vector (v) problem
% using parallel (p) GPU computing using symmety (s) to return ALL (a) indices
% for the mesh.
%   [iK, jK] = INDEX_VPSA(elements, sets) returns the rows "iK" and columns "jK"
%   position of all element stiffness matrices in the global system for a finite
%   element analysis of a vector problem in a three-dimensional domain taking

    
function [iK, jK] = Index_vpsa(elements, sets)
% INDEX_VPSA Compute the row/column indices of tril(K) in a vector (v) problem
% using parallel (p) GPU computing using symmety (s) to return ALL (a) indices
% for the mesh.
%   [iK, jK] = INDEX_VPSA(elements, sets) returns the rows "iK" and columns "jK"
%   position of all element stiffness matrices in the global system for a finite
%   element analysis of a vector problem in a three-dimensional domain taking
%   advantage of symmetry, where "elements" is the connectivity matrix of size
%   8xnel. The struct "sets" must contain several similation parameters:
%   - sets.dTE is the data precision of "elements"
%   - sets.nel is the number of finite elements
%   - sets.sz  is the umber of symmetry entries.
%   - sets.tbs is the Thread Block Size
%   - sets.numSMs is the number of multiprocessors on the device
%   - sets.WarpSize is the warp size
%
%   See also STIFFMA_VPS
%
%   For more information, see the <a href="matlab:
%   web('https://github.com/fjramireg/StiffMa')">StiffMa</a> web site.

%   Written by Francisco Javier Ramirez-Gil, fjramireg@gmail.com
%   Universidad Nacional de Colombia - Medellin
% 	Modified: 08/02/2020. Version: 1.4. Error fix to use 'uint64'
% 	Modified: 28/01/2020. Version: 1.3. Name changed, Doc improved
% 	Modified: 21/01/2019. Version: 1.2
%   Created:  17/01/2019. Version: 1.0

% MATLAB KERNEL CREATION
if strcmp(sets.dTE,'uint32')               % uint32
    ker = parallel.gpu.CUDAKernel('Index_vps.ptx',...                           % PTXFILE
        'const unsigned int*,const unsigned int,unsigned int*,unsigned int*',...% C prototype for kernel
        'IndexVectorGPUIj');                                                    % Specify entry point
elseif strcmp(sets.dTE,'uint64')           % uint64
    ker = parallel.gpu.CUDAKernel('Index_vps.ptx',...
        'const unsigned long long int *, const unsigned long long int, unsigned long long int *, unsigned long long int *',...
        'IndexVectorGPUIy');
else
    error('Not supported data type. Use only one of this: uint32 & uint64');
end