[Openmp-commits] [openmp] r237124 - D9576: Updates documentation to include all possible architecture builds, synchronizes runtime/README.txt and www/README.txt, updates the building-with-CMake documentation. This change also changes references of Intel(R) OpenMP Library to LLVM OpenMP Library.

Andrey Churbanov Andrey.Churbanov at intel.com
Tue May 12 05:52:43 PDT 2015


Author: achurbanov
Date: Tue May 12 07:52:43 2015
New Revision: 237124

URL: http://llvm.org/viewvc/llvm-project?rev=237124&view=rev
Log:
D9576: Updates documentation to include all possible architecture builds, synchronizes runtime/README.txt and www/README.txt, updates the building-with-CMake documentation.  This change also changes references of Intel(R) OpenMP Library to LLVM OpenMP Library.

Modified:
    openmp/trunk/runtime/Build_With_CMake.txt
    openmp/trunk/runtime/README.txt
    openmp/trunk/www/README.txt

Modified: openmp/trunk/runtime/Build_With_CMake.txt
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/Build_With_CMake.txt?rev=237124&r1=237123&r2=237124&view=diff
==============================================================================
--- openmp/trunk/runtime/Build_With_CMake.txt (original)
+++ openmp/trunk/runtime/Build_With_CMake.txt Tue May 12 07:52:43 2015
@@ -9,8 +9,8 @@
 #//===----------------------------------------------------------------------===//
 #
 
-               Building libiomp5 using CMake
-               =============================
+         How to Build the LLVM* OpenMP* Runtime Library using CMake
+               ===========================================
 
    ---- Version of CMake required: v2.8.0 or above ----
  
@@ -91,9 +91,6 @@ Compiler options
 Unix* systems (Optional as compiler is default):
 This option is only needed when -Dcreate_fortran_modules is true
 
--DCMAKE_ASM_COMPILER=<Assembler name>
-This option isn't usually needed for Non-Windows* builds
-
 -DCMAKE_ASM_MASM_COMPILER=[ml | ml64 ]
 This option is Windows* Only
 
@@ -111,15 +108,12 @@ Build options
 ======================
 ==== Architecture ====
 ======================
--Darch=32|32e|arm|ppc64|aarch64|mic
+-Darch=32|32e|arm|ppc64|ppc64le|aarch64|mic
 * Architecture can be 32 (IA-32 architecture), 32e (Intel(R) 64 architecture),
-  arm (ARM architecture), aarch64 (ARMv8 architecture) or ppc64 (PPC64 architecture).
-  This option, by default is chosen based on the
-  CMake variable CMAKE_SIZEOF_VOID_P.  If it is 8, then Intel(R) 64 architecture
-  is assumed.  If it is 4, then IA-32 architecture is assumed.  If you want to
-  use a different architecture other than x86 based architecture, you must specify
-  it when calling cmake initially using this -Darch=<arch> option or by changing 
-  the arch value via CMakeCache.txt or the CMake GUI after the initial CMake run.
+  arm (ARM architecture), aarch64 (ARMv8 architecture), ppc64 (PPC64 architecture),
+  or ppc64le (little endian PPC64 architecture).
+* This option, by default is chosen based on the probing the compiler for 
+  architecture macros (e.g., is __x86_64__ predefined by compiler?).
 
 ---- First values listed are the default value ----
 -Dlib_type=normal|profile|stubs
@@ -145,34 +139,47 @@ Should the Fortran modules be created (r
 -Dstats=off|on
 Should include stats-gathering code?
 
+-Dompt_support=off|on
+Should OMPT support be turned on?
+If ompt_support is off, then both ompt_blame and ompt_trace are ignored.
+
+-Dompt_blame=on|off
+should OMPT blame functionality be turned on?
+
+-Dompt_trace=on|off
+should OMPT trace functionality be turned on?
+
 =====================
 ==== Micro tests ====
 =====================
-After the library has been built, five microtests are performed.
-Some will be skipped based upon the platform.
+After the library has been built, there are five optional microtests that
+can be performed.  Some will be skipped based upon the platform.
 These tests can be turned on (default) or off with the following options:
 -Dtest_touch=on|off     -- Should the touch test be done?
 -Dtest_relo=on|off      -- Should the position independent code test be done?
 -Dtest_execstack=on|off -- Should the stack be checked for executability?
--Dtest_instr=on|off     -- Should the Intel(R) MIC Libraries be checked 
+-Dtest_instr=on|off     -- Should the Intel(R) MIC Libraries be checked
                             for correct instruction set?
 -Dtest_deps=on|off      -- Should libiomp5's dependencies be checked?
 -Dtests=off|on          -- Should any of the above tests be done?
+If -Dtests=on is specified, the user can then call:
+$ make libiomp-micro-tests
+which runs the tests.
 
 ============================================
 ==== How to append flags to compilation ====
 ============================================
 - These flags are *appended*.  They do not 
   overwrite any of the preset flags.
--DUSER_CPP_FLAGS=<space-separated flags>    -- Additional C Preprocessor flags
+-DLIBIOMP_CPPFLAGS=<space-separated flags>    -- Additional C Preprocessor flags
                                                (typically additional -Ddef=val flags)
--DUSER_C_FLAGS=<space-separated flags>      -- Additional C compiler flags
--DUSER_CXX_FLAGS=<space-separated flags>    -- Additional C++ compiler flags
--DUSER_ASM_FLAGS=<space-separated flags>    -- Additional assembly flags
--DUSER_LD_FLAGS=<space-separated flags>     -- Additional linker flags
--DUSER_LD_LIB_FLAGS=<space-separated flags> -- Additional libraries to link 
+-DLIBIOMP_CFLAGS=<space-separated flags>      -- Additional C compiler flags
+-DLIBIOMP_CXXFLAGS=<space-separated flags>    -- Additional C++ compiler flags
+-DLIBIOMP_ASMFLAGS=<space-separated flags>    -- Additional assembly flags
+-DLIBIOMP_LDFLAGS=<space-separated flags>     -- Additional linker flags
+-DLIBIOMP_LIBFLAGS=<space-separated flags> -- Additional libraries to link 
                                                to during link phase
--DUSER_F_FLAGS=<space-separated flags>  -- Additional Fortran compiler flags
+-DLIBIOMP_FFLAGS=<space-separated flags>  -- Additional Fortran compiler flags
 
 ===================================
 ==== Feature Based Compilation ====
@@ -217,12 +224,22 @@ cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX
 cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ ..
 
 ---- With Various Options ----
+- Build the 32 bit Linux library using GCC*
 cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -Dos=lin -Darch=32 ..
+
+- Build the 32 bit debug Mac library using Clang*
 cmake -DCMAKE_C_COMPILER=clang -DCMAKE_CXX_COMPILER=clang++ -Dos=mac -Darch=32 -DCMAKE_BUILD_TYPE=Debug ..
+
+- Build the library (architecture determined by probing compiler) using the
+  Intel(R) C Compiler and the Intel(R) C++ Compiler. Also, create the fortran modules using
+  the Intel(R) Fortran Compiler, enabling the libiomp-micro-tests target and using similar rules that build.pl 
+  would use to build the library.
 cmake -DCMAKE_C_COMPILER=icc -DCMAKE_CXX_COMPILER=icpc -DCMAKE_Fortran_COMPILER=ifort -Dtests=on -Dcreate_fortran_modules=on -DUSE_BUILDPL_RULES=on ..
-cmake -DUSER_CFLAGS='Werror' -DUSER_CPP_FLAGS='-DNEW_FEATURE=1 -DOLD_FEATURE=0' -DUSER_CXX_FLAGS='-Werror -Wsign-compare' ..
 
----- Stubs library ----
+- Have CMake Find the C/C++ compiler, and specify additional flags for the C compiler, preprocessor, and C++ compiler.
+cmake -DLIBIOMP_CFLAGS='Werror' -DLIBIOMP_CPPFLAGS='-DNEW_FEATURE=1 -DOLD_FEATURE=0' -DLIBIOMP_CXXFLAGS='-Werror -Wsign-compare' ..
+
+---- Build the stubs library ----
 cmake -DCMAKE_C_COMPILER=gcc -DCMAKE_CXX_COMPILER=g++ -Dlib_type=stubs ..
 
 =========

Modified: openmp/trunk/runtime/README.txt
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/runtime/README.txt?rev=237124&r1=237123&r2=237124&view=diff
==============================================================================
--- openmp/trunk/runtime/README.txt (original)
+++ openmp/trunk/runtime/README.txt Tue May 12 07:52:43 2015
@@ -1,6 +1,6 @@
 
-               README for Intel(R) OpenMP* Runtime Library
-               ===========================================
+               README for the LLVM* OpenMP* Runtime Library
+               ============================================
 
 How to Build Documentation
 ==========================
@@ -11,7 +11,7 @@ However, an HTML version can be built by
 
 % doxygen doc/doxygen/config 
 
-in this directory.
+in the runtime directory.
 
 That will produce HTML documentation in the doc/doxygen/generated
 directory, which can be accessed by pointing a web browser at the
@@ -21,11 +21,23 @@ If you don't have Doxygen installed, you
 www.doxygen.org.
 
 
-How to Build the Intel(R) OpenMP* Runtime Library
-=================================================
+How to Build the LLVM* OpenMP* Runtime Library
+==============================================
 
+The library can be built either using Cmake, or using a makefile that
+in turn invokes various Perl scripts. For porting, non X86
+architectures, and for those already familiar with Cmake that may be
+an easier route to take than the one described here.
+
+Building with CMake
+===================
+The runtime/Build_With_CMake.txt file has a description of how to
+build with Cmake.
+
+Building with the Makefile
+==========================
 The Makefile at the top-level will attempt to detect what it needs to
-build the Intel(R) OpenMP* Runtime Library.  To see the default settings, 
+build the LLVM* OpenMP* Runtime Library.  To see the default settings, 
 type:
 
 make info
@@ -37,7 +49,7 @@ omp_root:    The path to the top-level d
 	     current working directory.
 
 omp_os:      Operating system.  By default, the build will attempt to 
-	     detect this. Currently supports "linux", "freebsd", "macos", and 
+	     detect this. Currently supports "linux", "freebsd", "macos", and
 	     "windows".
 
 arch:        Architecture. By default, the build will attempt to 
@@ -46,6 +58,8 @@ arch:        Architecture. By default, t
                  "32" for IA-32 architecture 
                  "32e" for Intel(R) 64 architecture
                  "mic" for Intel(R) Many Integrated Core Architecture
+                 "arm" for ARM* architecture
+                 "aarch64" for Aarch64 (64-bit ARM) architecture
                  "ppc64" for IBM(R) Power architecture (big endian)
                  "ppc64le" for IBM(R) Power architecture (little endian)
 
@@ -74,10 +88,6 @@ example, if you want to build with gcc i
 
 make compiler=gcc
 
-There is also an experimental CMake build system. This is *not* yet
-supported for production use and resulting binaries have not been checked
-for compatibility.
-
 On OS X* machines, it is possible to build universal (or fat) libraries which
 include both IA-32 architecture and Intel(R) 64 architecture objects in a
 single archive; just build the 32 and 32e libraries separately, then invoke 
@@ -121,7 +131,9 @@ Front-end Compilers that work with this
 ===========================================
 
 The following compilers are known to do compatible code generation for
-this RTL:  icc/icl, gcc.  See the documentation for more detail.
+this RTL: clang (from the OpenMP development branch at
+http://clang-omp.github.io/ ), Intel compilers, GCC.  See the documentation
+for more details.
 
 -----------------------------------------------------------------------
 

Modified: openmp/trunk/www/README.txt
URL: http://llvm.org/viewvc/llvm-project/openmp/trunk/www/README.txt?rev=237124&r1=237123&r2=237124&view=diff
==============================================================================
--- openmp/trunk/www/README.txt (original)
+++ openmp/trunk/www/README.txt Tue May 12 07:52:43 2015
@@ -58,6 +58,10 @@ arch:        Architecture. By default, t
                  "32" for IA-32 architecture 
                  "32e" for Intel(R) 64 architecture
                  "mic" for Intel(R) Many Integrated Core Architecture
+                 "arm" for ARM* architecture
+                 "aarch64" for Aarch64 (64-bit ARM) architecture
+                 "ppc64" for IBM(R) Power architecture (big endian)
+                 "ppc64le" for IBM(R) Power architecture (little endian)
 
              If "mic" is specified then "icc" will be used as the
 	     compiler, and appropriate k1om binutils will be used. The
@@ -75,6 +79,10 @@ compiler:    Which compiler to use for t
 
 mode:        Library mode: default is "release".  Also supports "debug".
 
+jobs:        The number of parallel jobs for the underlying call to make.
+         This value is sent as the parameter to the -j flag for make.
+         This value defaults to "1", but can be set to any positive integer.
+
 To use any of the options above, simple add <option_name>=<value>.  For 
 example, if you want to build with gcc instead of icc, type:
 





More information about the Openmp-commits mailing list