示例#1
0
 public void Init()
 {
     rng = new Random(1);
     u   = (uint3 *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <uint3>() * iterations, UnsafeUtility.AlignOf <uint3>(), Allocator.Persistent);
     for (int i = 0; i < iterations; ++i)
     {
         u[i] = 0;
     }
 }
示例#2
0
                public void Init()
                {
                    v = (float3x3 *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <float3x3>() * 100000, UnsafeUtility.AlignOf <float3x3>(), Allocator.Persistent);
                    for (int i = 0; i < 100000; ++i)
                    {
                        v[i] = new float3x3(1.0f);
                    }

                    hash = (uint3 *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <uint3>() * 100000, UnsafeUtility.AlignOf <uint3>(), Allocator.Persistent);
                    for (int i = 0; i < 100000; ++i)
                    {
                        hash[i] = 0;
                    }
                }
                public void Init()
                {
                    rng = (Random *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <Random>() * 10000, UnsafeUtility.AlignOf <Random>(), Allocator.Persistent);
                    for (int i = 0; i < 10000; ++i)
                    {
                        rng[i] = new Unity.Mathematics.Random(1);
                    }

                    u = (uint3 *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <uint3>() * 10000, UnsafeUtility.AlignOf <uint3>(), Allocator.Persistent);
                    for (int i = 0; i < 10000; ++i)
                    {
                        u[i] = 0;
                    }
                }
                public void Init()
                {
                    rng = new Random(1);
                    v   = (float3x3 *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <float3x3>() * iterations, UnsafeUtility.AlignOf <float3x3>(), Allocator.Persistent);
                    for (int i = 0; i < iterations; ++i)
                    {
                        v[i] = new float3x3(1.0f);
                    }

                    hash = (uint3 *)UnsafeUtility.Malloc(UnsafeUtility.SizeOf <uint3>() * iterations, UnsafeUtility.AlignOf <uint3>(), Allocator.Persistent);
                    for (int i = 0; i < iterations; ++i)
                    {
                        hash[i] = 0;
                    }
                }
		/// <summary>
		/// Creates a new CudaRegisteredHostMemory_uint3 from an existing IntPtr. IntPtr must be page size aligned (4KBytes)!
		/// </summary>
		/// <param name="hostPointer">must be page size aligned (4KBytes)</param>
		/// <param name="size">In elements</param>
		public CudaRegisteredHostMemory_uint3(IntPtr hostPointer, SizeT size)
		{
			_intPtr = hostPointer;
			_size = size;
			_typeSize = (SizeT)Marshal.SizeOf(typeof(uint3));
			_ptr = (uint3*)_intPtr;
		}