Пример #1
0
void DataProcessorKameleon::addDataValues(std::string path, properties::SelectionProperty& dataOptions){
    int numOptions = dataOptions.options().size();
    initializeVectors(numOptions);

    if(!path.empty()){
        if(path != _kwPath || !_kw)
            initializeKameleonWrapper(path);

        std::vector<float> sum(numOptions, 0.0f);
        std::vector<std::vector<float>> optionValues(numOptions, std::vector<float>());
        auto options = dataOptions.options();
        
        int numValues = _dimensions.x*_dimensions.y*_dimensions.z;

        float* values;
        float value;

        for(int i=0; i<numOptions; i++){
            //0.5 to gather interesting values for the normalization/histograms.
            values = _kw->getUniformSliceValues(options[i].description, _dimensions, 0.5f);

            for(int j=0; j<numValues; j++){
                value = values[j];

                optionValues[i].push_back(value);
                _min[i] = std::min(_min[i], value);
                _max[i] = std::max(_max[i], value);
                sum[i] += value;
            }
        }

        add(optionValues, sum);
    }
}
Пример #2
0
int main(int argc, char *argv[])
{
  float *u = new float[N];
  float *v = new float[N];
  float alpha = 2.3;
  double time4=0;

  initializeVectors(u,v);

  TICK();
  axpyGPU(u,v,alpha,N);
  TOCK(time4);

  outputStats(time4);  

  delete [] u; 
  delete [] v;
}
Пример #3
0
void GeneticClass::DrawingPopulation(){
	srand(time(NULL));
	initializeVectors();
	generateNastepniki();
	#pragma omp parallel for	
	for (int i = 0; i < lc; i++){
		vector <bool> visited(GraphClass::vertex,false);
		chromosom[i][0] = rand() % GraphClass::vertex;							//poczatkowy wierzcholek
		/* 
			Wedlug mnie bez sensu bo jak nastepniki beda mialy size = 0 to petla bedzie nieskonczona bo zadna zmienna sie nie zmienia
			Jak czasem sie zdazy chromosom o rozmiarze 1 to chyba nic nam nie szkodzi ;p 
		do chromosom[i][0] = i % GraphClass::vertex;							
		while (nastepniki[chromosom[i][0]].size() == 0);
		*/
		visited[chromosom[i][0]] = true;
		unsigned int dnaLen = 10;											//TODO: zmienic 10 na jakas zmienna czy cos
		int j = 1;

		createChromosom(j, visited, chromosom[i], dnaLen, !(i<(GraphClass::vertex * 0.01)));			//losowo - true, deterministycznie - !(i < GraphClass::vertex)
	}
}