コード例 #1
0
        public View <TDataType, TExecutionSpace> MakeViewFromPointer <TDataType>(ulong n0,
                                                                                 ulong n1 = ulong.MaxValue,
                                                                                 ulong n2 = ulong.MaxValue,
                                                                                 ulong n3 = ulong.MaxValue,
                                                                                 ulong n4 = ulong.MaxValue,
                                                                                 ulong n5 = ulong.MaxValue,
                                                                                 ulong n6 = ulong.MaxValue,
                                                                                 ulong n7 = ulong.MaxValue)
            where TDataType : struct
        {
            int dataTypeSize = Unsafe.SizeOf <TDataType>();

            DataTypeKind dataType = DataType <TDataType> .GetKind();

            nint viewPtr = KokkosLibrary.IpcMakeViewFromPointer(executionSpaceType, dataType, Pointer, n0, n1, n2, n3, n4, n5, n6, n7);

            ushort rank = (ushort)KokkosLibrary.CalculateRank(n0, n1, n2, n3, n4, n5, n6, n7);

            NdArray ndArray = View <TDataType, TExecutionSpace> .RcpConvert(viewPtr, rank);

            ulong size = KokkosLibrary.CalculateSize(ndArray[0].Dim, ndArray[1].Dim, ndArray[2].Dim, ndArray[3].Dim, ndArray[4].Dim, ndArray[5].Dim, ndArray[6].Dim, ndArray[7].Dim);

            View <TDataType, TExecutionSpace> view = new View <TDataType, TExecutionSpace>(new NativePointer(viewPtr, (ulong)dataTypeSize * size), ndArray);

            return(view);
        }
コード例 #2
0
 public static void DataTypeKind(DataTypeKind actual, DataTypeKind expected, string message)
 {
     if (actual != expected)
     {
         throw new Exception(FormatMessage(actual, expected, message));
     }
 }
コード例 #3
0
        public static X64DataTypeProperties GetProperties(DataTypeKind kind)
        {
            if (_properties == null)
            {
                GeneratePropertyMap();
            }

            return(_properties[kind]);
        }
コード例 #4
0
ファイル: Vector.cs プロジェクト: trmcnealy/Kokkos.NET
        static Vector()
        {
            dataType = DataType <TDataType> .GetKind();

            executionSpace     = new TExecutionSpace();
            executionSpaceType = ExecutionSpace <TExecutionSpace> .GetKind();

            VectorUtilities <TDataType, TExecutionSpace> .Load();
        }
コード例 #5
0
ファイル: TypeCastDefinition.cs プロジェクト: ericlass/erc
 public bool CanCastTo(DataTypeKind dataType)
 {
     return(To.Contains(dataType));
 }
コード例 #6
0
ファイル: TypeCastDefinition.cs プロジェクト: ericlass/erc
 public TypeCastDefinition(DataTypeKind from, HashSet <DataTypeKind> to)
 {
     From = from;
     To   = to;
 }