Wed 28 Aug 21:38:52 CEST 2024
This commit is contained in:
		
							parent
							
								
									c0c53c6ec8
								
							
						
					
					
						commit
						b46dd59743
					
				
							
								
								
									
										84
									
								
								src/SimNDT/engine/infoCL.py
									
									
									
									
									
										Normal file
									
								
							
							
						
						
									
										84
									
								
								src/SimNDT/engine/infoCL.py
									
									
									
									
									
										Normal file
									
								
							|  | @ -0,0 +1,84 @@ | |||
| #!/usr/bin/env python | ||||
| # encoding: utf-8 | ||||
| """ | ||||
| infoCL.py | ||||
| 
 | ||||
| Created by Miguel Molero on 2013-10-01. | ||||
| Copyright (c) 2013 MMolero. All rights reserved. | ||||
| """ | ||||
| 
 | ||||
| global ErrorImportCL | ||||
| import numpy as    np | ||||
| 
 | ||||
| try: | ||||
|     import pyopencl    as    cl | ||||
| 
 | ||||
|     ErrorImportCL = False | ||||
|     print("ErrorImportCL--------->", ErrorImportCL) | ||||
| 
 | ||||
| except ImportError: | ||||
|     ErrorImportCL = True | ||||
|     print("ErrorImportCL--------->", ErrorImportCL) | ||||
| 
 | ||||
| import copy | ||||
| 
 | ||||
| 
 | ||||
| def importCL(): | ||||
|     global ErrorImportCL | ||||
|     return not ErrorImportCL | ||||
| 
 | ||||
| 
 | ||||
| def getPlatforms(): | ||||
|     return cl.get_platforms() | ||||
| 
 | ||||
| 
 | ||||
| def getPlatformsInfo(): | ||||
|     for p in cl.get_platforms(): | ||||
|         # Print out some information about the platforms | ||||
|         print("Platform:", p.name) | ||||
|         print("Vendor:", p.vendor) | ||||
|         print("Version:", p.version) | ||||
| 
 | ||||
| 
 | ||||
| def getDevices(): | ||||
|     return [device for platform in cl.get_platforms() for device in platform.get_devices()] | ||||
| 
 | ||||
| 
 | ||||
| def getPlatformsAndDevices(): | ||||
|     return [(platform, device) for platform in cl.get_platforms() for device in platform.get_devices()] | ||||
| 
 | ||||
| 
 | ||||
| def getDevice(DEVICE): | ||||
|     try: | ||||
|         return [device for platform in cl.get_platforms() | ||||
|                 for device in platform.get_devices() | ||||
|                 if cl.device_type.to_string(device.type) == DEVICE] | ||||
|     except: | ||||
|         return cl.get_platforms()[0].get_devices() | ||||
| 
 | ||||
| 
 | ||||
| def getDevicesName(): | ||||
|     return [cl.device_type.to_string(device.type) for platform in cl.get_platforms() | ||||
|             for device in platform.get_devices()] | ||||
| 
 | ||||
| 
 | ||||
| def getDevicesInfo(): | ||||
|     for platform in cl.get_platforms(): | ||||
|         for d in platform.get_devices(): | ||||
|             print("\t-------------------------") | ||||
|             # Print out some information about the devices | ||||
|             print("\t\tName:", d.name) | ||||
|             print("\t\tVersion:", d.opencl_c_version) | ||||
|             print("\t\tMax. Compute Units:", d.max_compute_units) | ||||
|             print("\t\tLocal Memory Size:", d.local_mem_size / 1024, "KB") | ||||
|             print("\t\tGlobal Memory Size:", d.global_mem_size / (1024 * 1024), "MB") | ||||
|             print("\t\tMax Alloc Size:", d.max_mem_alloc_size / (1024 * 1024), "MB") | ||||
|             print("\t\tMax Work-group Size:", d.max_work_group_size) | ||||
| 
 | ||||
|             # Find the maximum dimensions of the work-groups | ||||
|             dim = d.max_work_item_sizes | ||||
|             print("\t\tMax Work-item Dims:(", dim[0], " ".join(map(str, dim[1:])), ")") | ||||
| 
 | ||||
|             print("\t-------------------------") | ||||
|             print(dim) | ||||
|             print("\n-------------------------") | ||||
		Loading…
	
		Reference in New Issue
	
	Block a user