コード例 #1
0
            public float Add(int bufferSize)
            {
                Adder.ThreadGroupSizeX = 64;
                Adder.RemoveAllBuffers();
                var stream      = new AddStream(Gpu, bufferSize, DataToAdd);
                int index       = 0;
                var total       = 0.0f;
                var constBuffer = Gpu.CreateConstantBuffer(16);
                var tempBuffer  = new float[bufferSize / 512];

                Adder.AddBuffer(constBuffer);
                stream.AttachBuffer(Adder);
                while (index < DataToAdd.Length)
                {
                    // Load up the next set of data
                    stream.LoadData(index);
                    stream.ApplyPass(this.Adder, constBuffer, index);
                    total += stream.GetAnswer(tempBuffer);
                    index += bufferSize;
                }
                return(total);
            }
コード例 #2
0
 public virtual IEnumerator <ITask> AddStreamHandler(AddStream header)
 {
     AddScriptCommand(header.Body, header.ResponsePort);
     yield break;
 }