Skip to content

Commit 06ea048

Browse files
arm_compute v18.02
Change-Id: I7207aa488e5470f235f39b6c188b4678dc38d1a6
1 parent 2922279 commit 06ea048

File tree

6,837 files changed

+174243
-78528
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

6,837 files changed

+174243
-78528
lines changed

README.md

Lines changed: 8 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,14 +1,18 @@
11

2+
:warning: **Deprecation notice: QS8 and QS16 data types will be removed in the next release** (As far as we know nobody uses these data types, if you do or think they are useful please open an Issue or send us an email):warning:
3+
24
Please report issues here: https://github.com/ARM-software/ComputeLibrary/issues
3-
Make sure you are using the latest version of the library before opening an issue. Thanks
5+
**Make sure you are using the latest version of the library before opening an issue. Thanks**
46

57
Related projects:
68

7-
- [Caffe on Compute Library](https://github.com/OAID/caffeOnACL)
9+
- [Caffe on Compute Library](https://github.com/OAID/Caffe-HRT)
810
- [Tutorial: Cartoonifying Images on Raspberry Pi with the Compute Library](https://community.arm.com/graphics/b/blog/posts/cartoonifying-images-on-raspberry-pi-with-the-compute-library)
11+
- [Tutorial: Running AlexNet on Raspberry Pi with Compute Library](https://community.arm.com/processors/b/blog/posts/running-alexnet-on-raspberry-pi-with-compute-library)
912

1013
Documentation available here:
1114

15+
- [v18.02](https://arm-software.github.io/ComputeLibrary/v18.02/)
1216
- [v18.01](https://arm-software.github.io/ComputeLibrary/v18.01/)
1317
- [v17.12](https://arm-software.github.io/ComputeLibrary/v17.12/)
1418
- [v17.10](https://arm-software.github.io/ComputeLibrary/v17.10/)
@@ -20,6 +24,8 @@ Documentation available here:
2024

2125
Binaries available here:
2226

27+
- [v18.02-linux](https://github.com/ARM-software/ComputeLibrary/releases/download/v18.01/arm_compute-v18.02-bin-linux.tar.gz)
28+
- [v18.02-android](https://github.com/ARM-software/ComputeLibrary/releases/download/v18.01/arm_compute-v18.02-bin-android.tar.gz)
2329
- [v18.01](https://github.com/ARM-software/ComputeLibrary/releases/download/v18.01/arm_compute-v18.01-bin.tar.gz)
2430
- [v17.12](https://github.com/ARM-software/ComputeLibrary/releases/download/v17.12/arm_compute-v17.12-bin.tar.gz)
2531
- [v17.10](https://github.com/ARM-software/ComputeLibrary/releases/download/v17.10/arm_compute-v17.10-bin.tar.gz)

SConscript

Lines changed: 30 additions & 30 deletions
Original file line numberDiff line numberDiff line change
@@ -24,8 +24,8 @@ import os.path
2424
import re
2525
import subprocess
2626

27-
VERSION = "v18.01"
28-
SONAME_VERSION="7.0.0"
27+
VERSION = "v18.02"
28+
SONAME_VERSION="9.0.0"
2929

3030
Import('env')
3131
Import('vars')
@@ -123,12 +123,34 @@ def create_version_file(target, source, env):
123123
with open(target[0].get_path(), "w") as fd:
124124
fd.write(build_info)
125125

126-
127126
arm_compute_env = env.Clone()
128-
# Don't allow undefined references in the libraries:
129-
arm_compute_env.Append(LINKFLAGS=['-Wl,--no-undefined','-Wl,--no-allow-shlib-undefined'])
130127

128+
# Generate embed files
131129
generate_embed = [ arm_compute_env.Command("src/core/arm_compute_version.embed", "", action=create_version_file) ]
130+
if env['opencl'] and env['embed_kernels']:
131+
cl_files = Glob('src/core/CL/cl_kernels/*.cl')
132+
cl_files += Glob('src/core/CL/cl_kernels/*.h')
133+
134+
embed_files = [ f.get_path()+"embed" for f in cl_files ]
135+
arm_compute_env.Append(CPPPATH =[Dir("./src/core/CL/").path] )
136+
137+
generate_embed.append(arm_compute_env.Command(embed_files, cl_files, action=resolve_includes))
138+
139+
if env['gles_compute'] and env['embed_kernels']:
140+
cs_files = Glob('src/core/GLES_COMPUTE/cs_shaders/*.cs')
141+
cs_files += Glob('src/core/GLES_COMPUTE/cs_shaders/*.h')
142+
143+
embed_files = [ f.get_path()+"embed" for f in cs_files ]
144+
arm_compute_env.Append(CPPPATH =[Dir("./src/core/GLES_COMPUTE/").path] )
145+
146+
generate_embed.append(arm_compute_env.Command(embed_files, cs_files, action=resolve_includes))
147+
148+
Default(generate_embed)
149+
if env["build"] == "embed_only":
150+
Return()
151+
152+
# Don't allow undefined references in the libraries:
153+
arm_compute_env.Append(LINKFLAGS=['-Wl,--no-undefined'])
132154
arm_compute_env.Append(CPPPATH =[Dir("./src/core/").path] )
133155

134156
if env["os"] not in ["android", "bare_metal"]:
@@ -161,24 +183,14 @@ if env['opencl']:
161183
runtime_files += Glob('src/runtime/CL/*.cpp')
162184
runtime_files += Glob('src/runtime/CL/functions/*.cpp')
163185

164-
# Generate embed files
165-
if env['embed_kernels']:
166-
cl_files = Glob('src/core/CL/cl_kernels/*.cl')
167-
cl_files += Glob('src/core/CL/cl_kernels/*.h')
168-
169-
embed_files = [ f.get_path()+"embed" for f in cl_files ]
170-
arm_compute_env.Append(CPPPATH =[Dir("./src/core/CL/").path] )
171-
172-
generate_embed.append(arm_compute_env.Command(embed_files, cl_files, action=resolve_includes))
173-
174186
if env['neon']:
175187
core_files += Glob('src/core/NEON/*.cpp')
176188
core_files += Glob('src/core/NEON/kernels/*.cpp')
177189

178190
# build winograd sources for either v7a / v8a
179-
core_files += Glob('src/core/NEON/kernels/winograd/*.cpp')
180-
core_files += Glob('src/core/NEON/kernels/winograd/transforms/*.cpp')
181-
arm_compute_env.Append(CPPPATH = ["arm_compute/core/NEON/kernels/winograd/"])
191+
core_files += Glob('src/core/NEON/kernels/convolution/*/*.cpp')
192+
core_files += Glob('src/core/NEON/kernels/convolution/winograd/*/*.cpp')
193+
arm_compute_env.Append(CPPPATH = ["arm_compute/core/NEON/kernels/winograd/", "arm_compute/core/NEON/kernels/assembly/"])
182194

183195
if env['arch'] == "armv7a":
184196
core_files += Glob('src/core/NEON/kernels/arm32/*.cpp')
@@ -199,16 +211,6 @@ if env['gles_compute']:
199211
runtime_files += Glob('src/runtime/GLES_COMPUTE/*.cpp')
200212
runtime_files += Glob('src/runtime/GLES_COMPUTE/functions/*.cpp')
201213

202-
# Generate embed files
203-
if env['embed_kernels']:
204-
cs_files = Glob('src/core/GLES_COMPUTE/cs_shaders/*.cs')
205-
cs_files += Glob('src/core/GLES_COMPUTE/cs_shaders/*.h')
206-
207-
embed_files = [ f.get_path()+"embed" for f in cs_files ]
208-
arm_compute_env.Append(CPPPATH =[Dir("./src/core/GLES_COMPUTE/").path] )
209-
210-
generate_embed.append(arm_compute_env.Command(embed_files, cs_files, action=resolve_includes))
211-
212214
arm_compute_core_a = build_library('arm_compute_core-static', core_files, static=True)
213215
Export('arm_compute_core_a')
214216

@@ -255,8 +257,6 @@ else:
255257

256258
Default(alias)
257259

258-
Default(generate_embed)
259-
260260
if env['standalone']:
261261
Depends([alias,arm_compute_core_a], generate_embed)
262262
else:

SConstruct

Lines changed: 9 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -42,7 +42,7 @@ vars.AddVariables(
4242
BoolVariable("logging", "Logging (this flag is forced to 1 for debug=1)", False),
4343
EnumVariable("arch", "Target Architecture", "armv7a", allowed_values=("armv7a", "arm64-v8a", "arm64-v8.2-a", "x86_32", "x86_64")),
4444
EnumVariable("os", "Target OS", "linux", allowed_values=("linux", "android", "bare_metal")),
45-
EnumVariable("build", "Build type", "cross_compile", allowed_values=("native", "cross_compile")),
45+
EnumVariable("build", "Build type", "cross_compile", allowed_values=("native", "cross_compile", "embed_only")),
4646
BoolVariable("examples", "Build example programs", True),
4747
BoolVariable("Werror", "Enable/disable the -Werror compilation flag", True),
4848
BoolVariable("standalone", "Builds the tests as standalone executables, links statically with libgcc, libstdc++ and libarm_compute", False),
@@ -59,11 +59,17 @@ vars.AddVariables(
5959

6060
env = Environment(platform="posix", variables=vars, ENV = os.environ)
6161
env.Append(LIBPATH = ["#build/%s" % env['build_dir']])
62+
Export('env')
63+
Export('vars')
6264

6365
SConsignFile('build/.%s' % env['build_dir'])
6466

6567
Help(vars.GenerateHelpText(env))
6668

69+
if env['build'] == "embed_only":
70+
SConscript('./SConscript', variant_dir='#build/%s' % env['build_dir'], duplicate=0)
71+
Return()
72+
6773
if env['neon'] and 'x86' in env['arch']:
6874
print "Cannot compile NEON for x86"
6975
Exit(1)
@@ -82,7 +88,7 @@ env.Append(CXXFLAGS = ['-Wno-deprecated-declarations','-Wall','-DARCH_ARM',
8288
'-Wextra','-Wno-unused-parameter','-pedantic','-Wdisabled-optimization','-Wformat=2',
8389
'-Winit-self','-Wstrict-overflow=2','-Wswitch-default',
8490
'-fpermissive','-std=gnu++11','-Wno-vla','-Woverloaded-virtual',
85-
'-Wctor-dtor-privacy','-Wsign-promo','-Weffc++','-Wno-format-nonliteral','-Wno-overlength-strings','-Wno-strict-overflow'])
91+
'-Wctor-dtor-privacy','-Wsign-promo','-Weffc++','-Wno-format-nonliteral','-Wno-overlength-strings','-Wno-strict-overflow','-Wno-implicit-fallthrough'])
8692

8793
env.Append(CPPDEFINES = ['_GLIBCXX_USE_NANOSLEEP'])
8894

@@ -134,8 +140,8 @@ elif env['arch'] == 'arm64-v8a':
134140
elif env['os'] == 'android':
135141
prefix = "aarch64-linux-android-"
136142
elif env['arch'] == 'arm64-v8.2-a':
143+
env.Append(CXXFLAGS = ['-march=armv8.2-a+fp16']) # explicitly enable fp16 extension otherwise __ARM_FEATURE_FP16_VECTOR_ARITHMETIC is undefined
137144
env.Append(CPPDEFINES = ['ARM_COMPUTE_AARCH64_V8_2'])
138-
139145
if cpp_compiler == 'clang++':
140146
env.Append(CXXFLAGS = ['-fno-integrated-as'])
141147

@@ -229,8 +235,6 @@ if env['logging']:
229235
env.Append(CPPPATH = ['#/include', "#"])
230236
env.Append(CXXFLAGS = env['extra_cxx_flags'])
231237

232-
Export('vars')
233-
Export('env')
234238
Export('version_at_least')
235239

236240
if env['opencl']:

arm_compute/core/AccessWindowAutoPadding.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017 ARM Limited.
2+
* Copyright (c) 2017-2018 ARM Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -66,7 +66,7 @@ class AccessWindowAutoPadding : public IAccessWindow
6666

6767
// Inherited methods overridden:
6868
bool update_window_if_needed(Window &window) const override;
69-
bool update_padding_if_needed(const Window &window) const override;
69+
bool update_padding_if_needed(const Window &window) override;
7070
ValidRegion compute_valid_region(const Window &window, ValidRegion input_valid_region, bool border_undefined, BorderSize border_size) const override;
7171

7272
private:

arm_compute/core/AccessWindowStatic.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017 ARM Limited.
2+
* Copyright (c) 2017-2018 ARM Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -79,7 +79,7 @@ class AccessWindowStatic : public IAccessWindow
7979

8080
// Inherited methods overriden:
8181
bool update_window_if_needed(Window &window) const override;
82-
bool update_padding_if_needed(const Window &window) const override;
82+
bool update_padding_if_needed(const Window &window) override;
8383
ValidRegion compute_valid_region(const Window &window, ValidRegion input_valid_region, bool border_undefined, BorderSize border_size) const override;
8484

8585
ITensorInfo *_info;

arm_compute/core/AccessWindowTranspose.h

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -1,5 +1,5 @@
11
/*
2-
* Copyright (c) 2017 ARM Limited.
2+
* Copyright (c) 2017-2018 ARM Limited.
33
*
44
* SPDX-License-Identifier: MIT
55
*
@@ -40,7 +40,7 @@ class AccessWindowTranspose : public AccessWindowRectangle
4040
public:
4141
using AccessWindowRectangle::AccessWindowRectangle;
4242
bool update_window_if_needed(Window &window) const override;
43-
bool update_padding_if_needed(const Window &window) const override;
43+
bool update_padding_if_needed(const Window &window) override;
4444
using AccessWindowRectangle::compute_valid_region;
4545
ValidRegion compute_valid_region(const Window &window, ValidRegion input_valid_region, bool border_undefined, BorderSize border_size) const override;
4646
};

arm_compute/core/CL/CLKernels.h

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -53,6 +53,7 @@
5353
#include "arm_compute/core/CL/kernels/CLDerivativeKernel.h"
5454
#include "arm_compute/core/CL/kernels/CLDilateKernel.h"
5555
#include "arm_compute/core/CL/kernels/CLDirectConvolutionLayerKernel.h"
56+
#include "arm_compute/core/CL/kernels/CLDirectConvolutionLayerOutputStageKernel.h"
5657
#include "arm_compute/core/CL/kernels/CLErodeKernel.h"
5758
#include "arm_compute/core/CL/kernels/CLFastCornersKernel.h"
5859
#include "arm_compute/core/CL/kernels/CLFillBorderKernel.h"

0 commit comments

Comments
 (0)