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;
}
Пример #2
0
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();
}
Пример #3
0
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();
}