Browse Source

Merge pull request #1742 from martin-frbg/interim033

Add combination of old and new thread memory code selectable by new option USE_TLS
tags/v0.3.3
Martin Kroeker GitHub 7 years ago
parent
commit
8440a4cb1a
No known key found for this signature in database GPG Key ID: 4AEE18F83AFDEB23
4 changed files with 1614 additions and 115 deletions
  1. +7
    -1
      Makefile.rule
  2. +4
    -0
      Makefile.system
  3. +4
    -0
      cmake/system.cmake
  4. +1599
    -114
      driver/others/memory.c

+ 7
- 1
Makefile.rule View File

@@ -107,7 +107,13 @@ BUILD_LAPACK_DEPRECATED = 1
# BUILD_RELAPACK = 1

# If you want to use legacy threaded Level 3 implementation.
# USE_SIMPLE_THREADED_LEVEL3 = 1
USE_SIMPLE_THREADED_LEVEL3 = 1

# If you want to use the new, still somewhat experimental code that uses
# thread-local storage instead of a central memory buffer in memory.c
# Note that if your system uses GLIBC, it needs to have at least glibc 2.21
# for this to work.
USE_TLS = 1

# If you want to drive whole 64bit region by BLAS. Not all Fortran
# compiler supports this. It's safe to keep comment it out if you


+ 4
- 0
Makefile.system View File

@@ -1018,6 +1018,10 @@ ifdef USE_SIMPLE_THREADED_LEVEL3
CCOMMON_OPT += -DUSE_SIMPLE_THREADED_LEVEL3
endif

ifdef USE_TLS
CCOMMON_OPT += -DUSE_TLS
endif

ifndef SYMBOLPREFIX
SYMBOLPREFIX =
endif


+ 4
- 0
cmake/system.cmake View File

@@ -214,6 +214,10 @@ if (CONSISTENT_FPCSR)
set(CCOMMON_OPT "${CCOMMON_OPT} -DCONSISTENT_FPCSR")
endif ()

if (USE_TLS)
set(CCOMMON_OPT "${CCOMMON_OPT} -DUSE_TLS")
endif ()

# Only for development
# set(CCOMMON_OPT "${CCOMMON_OPT} -DPARAMTEST")
# set(CCOMMON_OPT "${CCOMMON_OPT} -DPREFETCHTEST")


+ 1599
- 114
driver/others/memory.c
File diff suppressed because it is too large
View File


Loading…
Cancel
Save