[PATCH] D11059: [OPENMP] Info in release notes about OpenMP support in clang.

Jack Howarth howarth.mailing.lists at apple.com
Thu Jul 23 07:09:34 PDT 2015


jhowarth added a subscriber: jhowarth.
jhowarth added a comment.

The completeness of the OpenMP 3.1 support in 3.7.0 branch can be seen on x86_64-apple-darwin by using it to run the ctest of OpenMP3.1_Validation test suite from http://web.cs.uh.edu/~hpctools/openmp...

  #Tested Directive         	t	ct	ot	oct
  has_openmp                	100	100	100	100
  omp_atomic                	100	100	100	100
  omp_barrier               	100	100	100	100
  omp_critical              	100	100	100	100
  omp_flush                 	100	100	100	100
  omp_for_firstprivate      	100	100	100	100
  omp_for_lastprivate       	100	90	100	80
  omp_for_ordered           	100	100	100	100
  omp_for_private           	100	100	100	100
  omp_for_reduction         	100	100	100	100
  omp_for_schedule_dynamic  	100	100	100	100
  omp_for_schedule_guided   	100	100	100	100
  omp_for_schedule_static   	100	100	100	100
  omp_for_nowait            	100	100	100	100
  omp_get_num_threads       	100	100	100	100
  omp_get_wtick             	100	100	100	100
  omp_get_wtime             	100	100	100	100
  omp_in_parallel           	100	100	100	100
  omp_lock                  	100	100	100	100
  omp_master                	100	100	100	100
  omp_nest_lock             	100	100	100	100
  omp_parallel_copyin       	100	100	100	100
  omp_parallel_for_firstprivate 	100	100	100	100
  omp_parallel_for_lastprivate 	100	100	100	100
  omp_parallel_for_ordered  	100	100	100	100
  omp_parallel_for_private  	100	100	100	100
  omp_parallel_for_reduction 	100	100	100	100
  omp_parallel_num_threads  	100	100	100	100
  omp_parallel_sections_firstprivate 	100	100	100	100
  omp_parallel_sections_lastprivate 	100	100	100	100
  omp_parallel_sections_private 	100	100	100	100
  omp_parallel_sections_reduction 	100	100	100	85
  omp_section_firstprivate  	100	100	100	100
  omp_section_lastprivate   	100	100	100	100
  omp_section_private       	100	100	100	100
  omp_sections_reduction    	100	100	100	95
  omp_sections_nowait       	100	100	100	100
  omp_parallel_for_if       	100	100	100	100
  omp_single_copyprivate    	100	100	100	100
  omp_single_nowait         	100	100	100	100
  omp_single_private        	100	100	100	100
  omp_single                	100	100	100	100
  omp_test_lock             	100	100	100	100
  omp_test_nest_lock        	100	100	100	100
  omp_threadprivate         	100	100	-	-
  	
  omp_parallel_default      	100	100	100	100
  omp_parallel_shared       	100	100	100	100
  omp_parallel_private      	100	100	100	100
  omp_parallel_firstprivate 	100	100	100	100
  omp_parallel_if           	100	100	100	100
  omp_parallel_reduction    	100	100	100	100
  omp_for_collapse          	100	100	100	100
  omp_master_3              	100	100	100	100
  omp_task                  	100	100	100	100
  omp_task_if               	100	100	100	100
  omp_task_untied           	0	-	0	-
  omp_task_shared           	100	100	100	100
  omp_task_private          	100	100	100	100
  omp_task_firstprivate     	100	100	100	100
  omp_taskwait              	100	100	100	100
  omp_taskyield             	100	100	10	-
  omp_task_final            	0	-	0	-
  
  
  Summary:
  S Number of tested Open MP constructs: 62
  S Number of used tests:                123
  S Number of failed tests:              5
  S Number of successful tests:          118
  S + from this were verified:           114
  
  Normal tests:
  N Number of failed tests:              2
  N + from this fail compilation:        0
  N + from this timed out                0
  N Number of successful tests:          60
  N + from this were verified:           59
  
  Orphaned tests:
  O Number of failed tests:              3
  O + from this fail compilation:        0
  O + from this timed out                0
  O Number of successful tests:          58
  O + from this were verified:           55

which compares very favorably to the results from using FSF gcc 5.2.0...

  #Tested Directive         	t	ct	ot	oct
  has_openmp                	100	100	100	100
  omp_atomic                	100	60	100	35
  omp_barrier               	100	100	100	100
  omp_critical              	100	0	100	0
  omp_flush                 	100	0	100	0
  omp_for_firstprivate      	100	100	100	100
  omp_for_lastprivate       	100	100	100	95
  omp_for_ordered           	100	100	100	100
  omp_for_private           	100	100	100	100
  omp_for_reduction         	100	100	100	100
  omp_for_schedule_dynamic  	100	100	100	100
  omp_for_schedule_guided   	100	100	100	100
  omp_for_schedule_static   	100	100	100	100
  omp_for_nowait            	100	100	100	100
  omp_get_num_threads       	100	100	100	100
  omp_get_wtick             	0	-	0	-
  omp_get_wtime             	100	100	100	100
  omp_in_parallel           	100	100	100	100
  omp_lock                  	100	55	100	50
  omp_master                	100	100	100	100
  omp_nest_lock             	100	40	100	25
  omp_parallel_copyin       	100	100	100	100
  omp_parallel_for_firstprivate 	100	100	100	100
  omp_parallel_for_lastprivate 	100	100	100	100
  omp_parallel_for_ordered  	100	100	100	100
  omp_parallel_for_private  	100	100	100	100
  omp_parallel_for_reduction 	100	100	100	100
  omp_parallel_num_threads  	100	100	100	100
  omp_parallel_sections_firstprivate 	100	100	100	100
  omp_parallel_sections_lastprivate 	100	100	100	100
  omp_parallel_sections_private 	100	100	100	100
  omp_parallel_sections_reduction 	100	25	100	15
  omp_section_firstprivate  	100	100	100	100
  omp_section_lastprivate   	100	100	100	100
  omp_section_private       	100	100	100	100
  omp_sections_reduction    	100	30	100	5
  omp_sections_nowait       	100	100	100	100
  omp_parallel_for_if       	100	100	100	100
  omp_single_copyprivate    	100	100	100	100
  omp_single_nowait         	100	100	100	100
  omp_single_private        	100	100	100	100
  omp_single                	100	100	100	100
  omp_test_lock             	100	60	100	45
  omp_test_nest_lock        	100	60	100	40
  omp_threadprivate         	100	100	-	-
  	
  omp_parallel_default      	100	100	100	100
  omp_parallel_shared       	100	100	100	100
  omp_parallel_private      	100	100	100	100
  omp_parallel_firstprivate 	100	100	100	100
  omp_parallel_if           	100	100	100	100
  omp_parallel_reduction    	100	100	100	100
  omp_for_collapse          	100	100	100	100
  omp_master_3              	100	100	100	100
  omp_task                  	100	100	100	100
  omp_task_if               	100	100	100	100
  omp_task_untied           	0	-	0	-
  omp_task_shared           	100	100	100	100
  omp_task_private          	100	100	100	100
  omp_task_firstprivate     	100	100	100	100
  omp_taskwait              	100	100	100	100
  omp_taskyield             	100	45	10	-
  omp_task_final            	0	-	0	-
  
  
  Summary:
  S Number of tested Open MP constructs: 62
  S Number of used tests:                123
  S Number of failed tests:              7
  S Number of successful tests:          116
  S + from this were verified:           96
  
  Normal tests:
  N Number of failed tests:              3
  N + from this fail compilation:        0
  N + from this timed out                0
  N Number of successful tests:          59
  N + from this were verified:           49
  
  Orphaned tests:
  O Number of failed tests:              4
  O + from this fail compilation:        0
  O + from this timed out                0
  O Number of successful tests:          57
  O + from this were verified:           47


http://reviews.llvm.org/D11059







More information about the cfe-commits mailing list