AI-MXNetCAPI
    
    
  
  
  
view release on metacpan or search on metacpan
Revision history for Perl extension AI::MXNetCAPI
1.0102 Sun Aug  6 16:55:08 PDT 2017
        - updated autograd calls.
1.0101  Sun Jul  2 17:16:01 PDT 2017
        - refactored CachedOp, using strings to index the kvstore.
1.01    Sat Jun 10 23:57:27 PDT 2017
        - sync with python.
0.9507  Thu May 11 17:04:44 PDT 2017
        - Added Autograd.
    
  
  
                           const mx_uint* in, // provided_arg_shape_idx,
                         const mx_uint num_provided_arg_dtypes,
                         const char** in, // provided_arg_dtype_names,
                         const int* in, // provided_arg_dtypes,
                         const mx_uint num_shared_arg_names,
                         const char** in, // shared_arg_name_list,
//------------
                         int* shared_buffer_len,
                         const char** shared_buffer_name_list,
                         NDArrayHandle* shared_buffer_handle_list,
                         const char*** updated_shared_buffer_name_list,
                         NDArrayHandle** updated_shared_buffer_handle_list,
//------------------
                         mx_uint* num_in_args,
                         NDArrayHandle** in_args,
                         NDArrayHandle** arg_grads,
//-----------------
                         mx_uint* num_aux_states,
                         NDArrayHandle** aux_states,
//----------
                         ExecutorHandle shared_exec_handle,
    
  
  
  mxnet_typemaps.i view on Meta::CPAN
        }
        $result = newRV_noinc((SV*)container);
        sv_2mortal($result);
        argvi++;
    }
}
%typemap(in) (int* shared_buffer_len,
              const char** shared_buffer_name_list,
              NDArrayHandle* shared_buffer_handle_list,
              const char*** updated_shared_buffer_name_list,
              NDArrayHandle** updated_shared_buffer_handle_list)
              (int temp1,
               char* temp2,
               NDArrayHandle temp3,
               char** temp4,
               NDArrayHandle* temp5)
{
    HV *temphv;
    char *key;
    SV *val;
    I32 len;
    
  
  
  mxnet_typemaps.i view on Meta::CPAN
        {
            $2 = NULL;
            $3 = NULL;
        }
    }
}
%typemap(freearg) (int* shared_buffer_len,
                   const char** shared_buffer_name_list,
                   NDArrayHandle* shared_buffer_handle_list,
                   const char*** updated_shared_buffer_name_list,
                   NDArrayHandle** updated_shared_buffer_handle_list)
{
    Safefree($2);
    Safefree($3);
}
%typemap(argout)  (int* shared_buffer_len,
                   const char** shared_buffer_name_list,
                   NDArrayHandle* shared_buffer_handle_list,
                   const char*** updated_shared_buffer_name_list,
                   NDArrayHandle** updated_shared_buffer_handle_list)
{
    if(!result)
    {
        HV* hash = newHV();
        for(int j = 0; j < *$1; j++)
        {
            hv_store(hash, (*$4)[j], strlen((*$4)[j]), SvREFCNT_inc(SWIG_NewPointerObj(SWIG_as_voidptr((*$5)[j]), SWIGTYPE_p_MXNDArray, 0)), 0);
        }
        $result = newRV_noinc((SV*)hash);
    
  
  
  
( run in 0.803 second using v1.01-cache-2.11-cpan-a1d94b6210f )