Our Motivation:
		Today's computers are all Multicores. With parallelization techniques, one can convert sequential code into multi-threaded or vectorized code to simultaneously use multiple processors' power in a modern shared-memory Architecture. 
		
		
		
		
Our Goal:
		 Our aim for the iCetus tool is to involve the user in the decisions that compilers struggle with. User feedback is being factored into program parallelization. 
		 To that end, iCetus provides the  user  with  information  about  how  the  compiler  analyzes, transforms, and parallelizes the program, as well as displaying 
		 the speedup gained from applying such  optimization to the code. It offers a user interface for controlling program parallelization, based on this information. 
		 Doing so combines user knowledge and classical compiler capabilities. 
		
		
iCetus can be used for self-paced learning of different
			parallelization techniques. 
			
		
		
Cetus, the Compiler Engine:
	
		The underneath compiler infrastructure used in this project is 
Cetus. Cetus
		is a source-to-source compiler research infrastructure supported by
		the National Science Foundation(NSF). Cetus	assists domain experts and researchers in efficiently parallelizing
		their existing C/C++ applications using OpenMP parallel programming
		model. It represents one of several software infrastructures that
		support research and development of program analysis, optimization,
		and translation techniques.