当前位置: 首页>>代码示例>>C++>>正文


C++ WorkItem::getNoise方法代码示例

本文整理汇总了C++中WorkItem::getNoise方法的典型用法代码示例。如果您正苦于以下问题:C++ WorkItem::getNoise方法的具体用法?C++ WorkItem::getNoise怎么用?C++ WorkItem::getNoise使用的例子?那么恭喜您, 这里精选的方法代码示例或许可以为您提供帮助。您也可以进一步了解该方法所在WorkItem的用法示例。


在下文中一共展示了WorkItem::getNoise方法的1个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的C++代码示例。

示例1: run

void* Worker::run() 
{
	for (int i = 0;; i++) 
	{
		printf("thread %lu, loop %d - waiting for item...\n",  (long unsigned int)self(), i);
		WorkItem* item = m_queue.remove();
		printf("thread %lu, loop %d - got one item\n",  (long unsigned int)self(), i);
		{
			int temps = 0, fdecoding = 0;
					//
			// ON CREE UN OBJET POUR LA MESURE DU TEMPS DE SIMULATION (REMISE A ZERO POUR CHAQUE Eb/N0)
			//
			CTimer temps_ecoule(true);
			CTimer term_refresh(true);
			CErrorAnalyzer errCounters(item->getData(), frameErrorLimit, false, false);
			CErrorAnalyzer errCounter (item->getData(), frameErrorLimit, true,  true);

			//
			// ON CREE L'OBJET EN CHARGE DES INFORMATIONS DANS LE TERMINAL UTILISATEUR
			//
			CTerminal terminal(&errCounters, &temps_ecoule, item->getNoise()->getEb_N0());

			//
			// ON GENERE LA PREMIERE TRAME BRUITEE
			//
			item->getNoise()->generate();
			errCounter.store_enc_bits();

			while( 1 )
			{
				//
				//	ON LANCE LE TRAITEMENT SUR PLUSIEURS THREAD...
				//
 					CTimer essai(true);
// 					decoder->decode( item->getData()->get_t_noise_data(), item->getData()->get_t_decode_data(), numberIter );
// 					temps += essai.get_time_ms();
				fdecoding += 1;
				#pragma omp sections
				{
					#pragma omp section
					{
// 							item->getNoise()->generate();
					}
					#pragma omp section
					{
// 							errCounter.generate();
					}
				}

				//
				// ON COMPTE LE NOMBRE D'ERREURS DANS LA TRAME DECODE
				//
// 					errCounters.reset_internals();
// 					errCounters.accumulate( &errCounter );

				//
				// ON compares the frame error with the limits imposed by the user. 
				// If it exceeds then displays the results on Eb / N0 current.
				//
// 					if ( errCounters.fe_limit_achieved() == true ){
// 					break;
// 					}

				//
				// AFFICHAGE A L'ECRAN DE L'EVOLUTION DE LA SIMULATION SI NECESSAIRE
				//
// 					if( term_refresh.get_time_sec() >= 1 ){
// 						term_refresh.reset();
// 						terminal.temp_report();
// 					}

// 					if( (simTotalTimer->get_time_sec() >= STOP_TIMER_SECOND) && (STOP_TIMER_SECOND != -1) )
// 					{
// 						printf("(II) THE SIMULATION HAS STOP DUE TO THE (USER) TIME CONTRAINT.\n");
// 						printf("(II) PERFORMANCE EVALUATION WAS PERFORMED ON %d RUNS, TOTAL TIME = %dms\n", fdecoding, temps);
// 						temps /= fdecoding;
// 						printf("(II) + TIME / RUN = %dms\n", temps);
// 						int   workL = 4 * numberThreadOnGpu;
// 						int   kbits = workL * _N / temps ;
// 						float mbits = ((float)kbits) / 1000.0;
// 						printf("(II) + DECODER LATENCY (ms)     = %d\n", temps);
// 						printf("(II) + DECODER THROUGHPUT (Mbps)= %.1f\n", mbits);
// 						printf("(II) + (%.2fdB, %dThd : %dCw, %dits) THROUGHPUT = %.1f\n", item->getNoise()->getEb_N0(), numberThreadOnGpu, workL, numberIter, mbits);
// 						cout << endl << "Temps = " << temps << "ms : " << kbits;
// 						cout << "kb/s : " << ((float)temps/numberThreadOnGpu) << "ms/frame" << endl << endl;
// 						break;
// 					}
			}

// 				terminal.final_report();
			
			
		}
		delete item;
	}
	return NULL;
}
开发者ID:boiseHPSim,项目名称:ldpcGpuTegra,代码行数:97,代码来源:handler.cpp


注:本文中的WorkItem::getNoise方法示例由纯净天空整理自Github/MSDocs等开源代码及文档管理平台,相关代码片段筛选自各路编程大神贡献的开源项目,源码版权归原作者所有,传播和使用请参考对应项目的License;未经允许,请勿转载。