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); }
public virtual IEnumerator <ITask> AddStreamHandler(AddStream header) { AddScriptCommand(header.Body, header.ResponsePort); yield break; }