Added Paraver and dependencies, restricted Extrae to OpenMPI 1.6
This commit is contained in:
		 Luc Jaulmes
					Luc Jaulmes
				
			
				
					committed by
					
						 Todd Gamblin
						Todd Gamblin
					
				
			
			
				
	
			
			
			 Todd Gamblin
						Todd Gamblin
					
				
			
						parent
						
							5a4881c086
						
					
				
				
					commit
					853784d382
				
			| @@ -1,11 +1,13 @@ | ||||
| from spack import * | ||||
|  | ||||
| class Extrae(Package): | ||||
|     """Extrae is the package devoted to generate tracefiles which can be analyzed later by Paraver. Extrae is a tool that uses different interposition mechanisms to inject probes into the target application so as to gather information regarding the application performance. The Extrae instrumentation package can instrument the MPI programin model, and the following parallel programming models either alone or in conjunction with MPI : OpenMP, CUDA, OpenCL, pthread, OmpSs""" | ||||
|     homepage = "http://www.bsc.es/computer-sciences/extrae" | ||||
|     url      = "http://www.bsc.es/ssl/apps/performanceTools/files/extrae-2.5.1.tar.bz2" | ||||
|     versions = { '2.5.1' : '422376b9c68243bd36a8a73fa62de106', } | ||||
|  | ||||
|     depends_on("mpi") | ||||
|     #depends_on("mpi") | ||||
|     depends_on("openmpi@:1.6") | ||||
|     depends_on("dyninst") | ||||
|     depends_on("libunwind") | ||||
|     depends_on("boost") | ||||
| @@ -15,8 +17,8 @@ class Extrae(Package): | ||||
|     def install(self, spec, prefix): | ||||
|         if 'openmpi' in spec: | ||||
|             mpi = spec['openmpi'] | ||||
|             if spec.satisfies('@2.5.1') and spec.satisfies('^openmpi@1.6.5'): | ||||
|                 tty.error("Some headers conflict when using OpenMPI 1.6.5. Please use 1.6 instead.") | ||||
|             #if spec.satisfies('@2.5.1') and spec.satisfies('^openmpi@1.6.5'): | ||||
|             #    tty.error("Some headers conflict when using OpenMPI 1.6.5. Please use 1.6 instead.") | ||||
|         elif 'mpich' in spec: | ||||
|             mpi = spec['mpich'] | ||||
|         elif 'mvapich2' in spec: | ||||
|   | ||||
| @@ -7,6 +7,7 @@ | ||||
| #./mcxx-1.99.2/config.log:    $ ./configure --prefix=/usr/gapps/exmatex/ompss --with-nanox=/usr/gapps/exmatex/ompss --enable-ompss --with-mpi=/opt/mvapich2-intel-shmem-1.7 --enable-tl-openmp-profile --enable-tl-openmp-intel | ||||
|  | ||||
| class Ompss(Package): | ||||
|     """OmpSs is an effort to integrate features from the StarSs programming model developed by BSC into a single programming model. In particular, our objective is to extend OpenMP with new directives to support asynchronous parallelism and heterogeneity (devices like GPUs). However, it can also be understood as new directives extending other accelerator based APIs like CUDA or OpenCL. Our OmpSs environment is built on top of our Mercurium compiler and Nanos++ runtime system.""" | ||||
|     homepage = "http://pm.bsc.es/" | ||||
|     url      = "http://pm.bsc.es/sites/default/files/ftp/ompss/releases/ompss-14.06.tar.gz" | ||||
|     versions  = { '14.06' : '99be5dce74c0d7eea42636d26af47b4181ae2e11' } | ||||
|   | ||||
							
								
								
									
										40
									
								
								var/spack/packages/paraver/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										40
									
								
								var/spack/packages/paraver/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,40 @@ | ||||
| from spack import * | ||||
| import os | ||||
|  | ||||
| class Paraver(Package): | ||||
|     """"A very powerful performance visualization and analysis tool based on | ||||
|      traces that can be used to analyse any information that is expressed on its input trace format. | ||||
|       Traces for parallel MPI, OpenMP and other programs can be genereated with Extrae.""" | ||||
|     homepage = "http://www.bsc.es/computer-sciences/performance-tools/paraver" | ||||
|     url      = "http://www.bsc.es/ssl/apps/performanceTools/files/paraver-sources-4.5.2.tar.gz" | ||||
|  | ||||
|     versions = { '4.5.2' : 'ea463dd494519395c99ebae294edee17', } | ||||
|  | ||||
|     depends_on("boost") | ||||
|     #depends_on("extrae") | ||||
|     depends_on("wx") | ||||
|     depends_on("wxpropgrid") | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         os.chdir("ptools_common_files") | ||||
|         configure("--prefix=%s" % prefix) | ||||
|         make() | ||||
|         make("install") | ||||
|  | ||||
|         os.chdir("../paraver-kernel") | ||||
| 		#"--with-extrae=%s" % spec['extrae'].prefix,  | ||||
|         configure("--prefix=%s" % prefix, "--with-ptools-common-files=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization") | ||||
|         make() | ||||
|         make("install") | ||||
|  | ||||
|         os.chdir("../paraver-toolset") | ||||
|         configure("--prefix=%s" % prefix) | ||||
|         make() | ||||
|         make("install") | ||||
|  | ||||
|         os.chdir("../wxparaver") | ||||
| 		#"--with-extrae=%s" % spec['extrae'].prefix,  | ||||
|         configure("--prefix=%s" % prefix, "--with-paraver=%s" % prefix, "--with-boost=%s" % spec['boost'].prefix, "--with-boost-serialization=boost_serialization", "--with-wxdir=%s" % spec['wx'].prefix.bin) | ||||
|         make() | ||||
|         make("install") | ||||
|  | ||||
							
								
								
									
										17
									
								
								var/spack/packages/wx/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								var/spack/packages/wx/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| from spack import * | ||||
|  | ||||
| class Wx(Package): | ||||
|     """wxWidgets is a C++ library that lets developers create applications for Windows, Mac OS X, Linux and other platforms with a single code base. It has popular language bindings for Python, Perl, Ruby and many other languages, and unlike other cross-platform toolkits, wxWidgets gives applications a truly native look and feel because it uses the platform's native API rather than emulating the GUI. It's also extensive, free, open-source and mature.""" | ||||
|     homepage = "http://www.wxwidgets.org/" | ||||
|  | ||||
|     url      = "https://sourceforge.net/projects/wxwindows/files/2.8.12/wxWidgets-2.8.12.tar.gz" | ||||
|     versions = { '2.8.12' : '2fa39da14bc06ea86fe902579fedc5b1', } | ||||
| #    url      = "https://sourceforge.net/projects/wxwindows/files/3.0.1/wxWidgets-3.0.1.tar.bz2" | ||||
| #    versions = { '3.0.1' : 'dad1f1cd9d4c370cbc22700dc492da31', } | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         configure("--prefix=%s" % prefix, "--enable-unicode", "--disable-precomp-headers") | ||||
|  | ||||
|         make(parallel=False) | ||||
|         make("install") | ||||
|  | ||||
							
								
								
									
										17
									
								
								var/spack/packages/wxpropgrid/package.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										17
									
								
								var/spack/packages/wxpropgrid/package.py
									
									
									
									
									
										Normal file
									
								
							| @@ -0,0 +1,17 @@ | ||||
| from spack import * | ||||
|  | ||||
| class Wxpropgrid(Package): | ||||
|     """wxPropertyGrid is a property sheet control for wxWidgets. In other words, it is a specialized two-column grid for editing properties such as strings, numbers, flagsets, string arrays, and colours.""" | ||||
|     homepage = "http://wxpropgrid.sourceforge.net/" | ||||
|     url      = "http://prdownloads.sourceforge.net/wxpropgrid/wxpropgrid-1.4.15-src.tar.gz" | ||||
|  | ||||
|     versions = { '1.4.15' : 'f44b5cd6fd60718bacfabbf7994f1e93', } | ||||
|  | ||||
|     depends_on("wx") | ||||
|  | ||||
|     def install(self, spec, prefix): | ||||
|         configure("--prefix=%s" % prefix, "--with-wxdir=%s" % spec['wx'].prefix.bin, "--enable-unicode") | ||||
|  | ||||
|         make() | ||||
|         make("install") | ||||
|  | ||||
		Reference in New Issue
	
	Block a user