void AdlPrimitivesDemo::render() { int size = 1024*256; // int size = 1024*64; size = NEXTMULTIPLEOF( size, 512 ); int* host1 = new int[size]; int2* host2 = new int2[size]; int4* host4 = new int4[size]; for(int i=0; i<size; i++) { host1[i] = getRandom(0,0xffff); host2[i] = make_int2( host1[i], i ); host4[i] = make_int4( host2[i].x, host2[i].y, host2[i].x, host2[i].y ); } Buffer<int> buf1( m_deviceData, size ); Buffer<int2> buf2( m_deviceData, size ); Buffer<int4> buf4( m_deviceData, size ); buf1.write( host1, size ); buf2.write( host2, size ); buf4.write( host4, size ); Stopwatch sw( m_deviceData ); m_nTxtLines = 0; sprintf_s(m_txtBuffer[m_nTxtLines++], LINE_CAPACITY, "%d elems", size); // testSort( (Buffer<SortData>&)buf2, size, sw ); testFill1( buf1, size, sw ); testFill2( buf2, size, sw ); testFill4( buf4, size, sw ); test( buf2, size, sw ); delete [] host1; delete [] host2; delete [] host4; }
void ManyFields::serialize(carbon::CarbonProtocolWriter& writer) const { writer.writeStructBegin(); writer.writeField(1 /* field id */, buf1()); writer.writeField(2 /* field id */, buf2()); writer.writeField(3 /* field id */, buf3()); writer.writeField(4 /* field id */, buf4()); writer.writeField(5 /* field id */, buf5()); writer.writeField(6 /* field id */, buf6()); writer.writeField(7 /* field id */, buf7()); writer.writeField(8 /* field id */, buf8()); writer.writeField(9 /* field id */, buf9()); writer.writeField(10 /* field id */, buf10()); writer.writeField(11 /* field id */, buf11()); writer.writeField(12 /* field id */, buf12()); writer.writeField(13 /* field id */, buf13()); writer.writeField(14 /* field id */, buf14()); writer.writeField(15 /* field id */, buf15()); writer.writeField(16 /* field id */, buf16()); writer.writeField(17 /* field id */, buf17()); writer.writeField(18 /* field id */, buf18()); writer.writeField(19 /* field id */, buf19()); writer.writeField(20 /* field id */, buf20()); writer.writeField(21 /* field id */, buf21()); writer.writeField(22 /* field id */, buf22()); writer.writeField(23 /* field id */, buf23()); writer.writeField(24 /* field id */, buf24()); writer.writeField(25 /* field id */, buf25()); writer.writeField(26 /* field id */, buf26()); writer.writeField(27 /* field id */, buf27()); writer.writeField(28 /* field id */, buf28()); writer.writeField(29 /* field id */, buf29()); writer.writeField(30 /* field id */, buf30()); writer.writeField(31 /* field id */, buf31()); writer.writeField(32 /* field id */, buf32()); writer.writeField(33 /* field id */, buf33()); writer.writeField(34 /* field id */, buf34()); writer.writeField(35 /* field id */, buf35()); writer.writeField(36 /* field id */, buf36()); writer.writeField(37 /* field id */, buf37()); writer.writeField(38 /* field id */, buf38()); writer.writeField(39 /* field id */, buf39()); writer.writeField(40 /* field id */, buf40()); writer.writeFieldStop(); writer.writeStructEnd(); }
void ManyFields::deserialize(carbon::CarbonProtocolReader& reader) { reader.readStructBegin(); while (true) { const auto pr = reader.readFieldHeader(); const auto fieldType = pr.first; const auto fieldId = pr.second; if (fieldType == carbon::FieldType::Stop) { break; } switch (fieldId) { case 1: { reader.readField(buf1(), fieldType); break; } case 2: { reader.readField(buf2(), fieldType); break; } case 3: { reader.readField(buf3(), fieldType); break; } case 4: { reader.readField(buf4(), fieldType); break; } case 5: { reader.readField(buf5(), fieldType); break; } case 6: { reader.readField(buf6(), fieldType); break; } case 7: { reader.readField(buf7(), fieldType); break; } case 8: { reader.readField(buf8(), fieldType); break; } case 9: { reader.readField(buf9(), fieldType); break; } case 10: { reader.readField(buf10(), fieldType); break; } case 11: { reader.readField(buf11(), fieldType); break; } case 12: { reader.readField(buf12(), fieldType); break; } case 13: { reader.readField(buf13(), fieldType); break; } case 14: { reader.readField(buf14(), fieldType); break; } case 15: { reader.readField(buf15(), fieldType); break; } case 16: { reader.readField(buf16(), fieldType); break; } case 17: { reader.readField(buf17(), fieldType); break; } case 18: { reader.readField(buf18(), fieldType); break; } case 19: { reader.readField(buf19(), fieldType); break; } case 20: { reader.readField(buf20(), fieldType); break; } case 21: { reader.readField(buf21(), fieldType); break; } case 22: { reader.readField(buf22(), fieldType); break; } case 23: { reader.readField(buf23(), fieldType); break; } case 24: { reader.readField(buf24(), fieldType); break; } case 25: { reader.readField(buf25(), fieldType); break; } case 26: { reader.readField(buf26(), fieldType); break; } case 27: { reader.readField(buf27(), fieldType); break; } case 28: { reader.readField(buf28(), fieldType); break; } case 29: { reader.readField(buf29(), fieldType); break; } case 30: { reader.readField(buf30(), fieldType); break; } case 31: { reader.readField(buf31(), fieldType); break; } case 32: { reader.readField(buf32(), fieldType); break; } case 33: { reader.readField(buf33(), fieldType); break; } case 34: { reader.readField(buf34(), fieldType); break; } case 35: { reader.readField(buf35(), fieldType); break; } case 36: { reader.readField(buf36(), fieldType); break; } case 37: { reader.readField(buf37(), fieldType); break; } case 38: { reader.readField(buf38(), fieldType); break; } case 39: { reader.readField(buf39(), fieldType); break; } case 40: { reader.readField(buf40(), fieldType); break; } default: { reader.skip(fieldType); break; } } } reader.readStructEnd(); }