diff --git a/README.md b/README.md index fb22173..e2e0532 100644 --- a/README.md +++ b/README.md @@ -21,10 +21,11 @@ $ make execute_all # Benchmark build optimization flags -- `dgemm` と `dgemv` はデフォルトで `-O3` を使用します。 -- 学習目的で最適化を無効化する場合は `OPT_LEVEL=-O0` を明示してください。 +- すべての実験ディレクトリの `Makefile` で、GCC最適化オプションはデフォルトで `-O3` です。 +- 環境変数 `OPT_LEVEL` で上書きできます(例: `-O0`, `-O2`, `-Ofast`)。 ```sh $ make -C dgemm clean execute_all OPT_LEVEL=-O0 -$ make -C dgemv clean execute_all OPT_LEVEL=-O0 +$ make -C mandelbrot_simd clean run OPT_LEVEL=-O2 +$ make -C kdtree_nearest_neighbor clean run OPT_LEVEL=-Ofast ``` diff --git a/distance_computation_simd/Makefile b/distance_computation_simd/Makefile index ad9d170..1bd6086 100644 --- a/distance_computation_simd/Makefile +++ b/distance_computation_simd/Makefile @@ -1,5 +1,6 @@ -CC=gcc -CFLAGS=-O3 -std=c11 -Wall -Wextra -march=native -mavx2 -mfma +CC ?= gcc +OPT_LEVEL ?= -O3 +CFLAGS ?= $(OPT_LEVEL) -std=c11 -Wall -Wextra -march=native -mavx2 -mfma .PHONY: all run clean diff --git a/gemm_cache_optimization/Makefile b/gemm_cache_optimization/Makefile index cff3ca7..b64e6b0 100644 --- a/gemm_cache_optimization/Makefile +++ b/gemm_cache_optimization/Makefile @@ -1,5 +1,6 @@ CC ?= cc -CFLAGS ?= -O3 -march=native -std=c11 +OPT_LEVEL ?= -O3 +CFLAGS ?= $(OPT_LEVEL) -march=native -std=c11 LDFLAGS ?= all: naive optimized diff --git a/image_processing_simd/Makefile b/image_processing_simd/Makefile index 8f7cb6a..cf05f90 100644 --- a/image_processing_simd/Makefile +++ b/image_processing_simd/Makefile @@ -1,5 +1,6 @@ -CC=gcc -CFLAGS=-O3 -std=c11 -Wall -Wextra -march=native -mavx2 +CC ?= gcc +OPT_LEVEL ?= -O3 +CFLAGS ?= $(OPT_LEVEL) -std=c11 -Wall -Wextra -march=native -mavx2 .PHONY: all run clean diff --git a/kdtree_nearest_neighbor/Makefile b/kdtree_nearest_neighbor/Makefile index 0993a4c..f5cc1ad 100644 --- a/kdtree_nearest_neighbor/Makefile +++ b/kdtree_nearest_neighbor/Makefile @@ -1,6 +1,7 @@ -CC := gcc -CFLAGS := -O3 -march=native -std=c11 -Wall -Wextra -Wpedantic -LDFLAGS := -lm +CC ?= gcc +OPT_LEVEL ?= -O3 +CFLAGS ?= $(OPT_LEVEL) -march=native -std=c11 -Wall -Wextra -Wpedantic +LDFLAGS ?= -lm TARGET := benchmark SRC := benchmark.c diff --git a/mandelbrot_simd/Makefile b/mandelbrot_simd/Makefile index 95e46b8..ceafcbc 100644 --- a/mandelbrot_simd/Makefile +++ b/mandelbrot_simd/Makefile @@ -1,5 +1,6 @@ -CC=gcc -CFLAGS=-O3 -std=c11 -Wall -Wextra -march=native -mavx2 -mfma +CC ?= gcc +OPT_LEVEL ?= -O3 +CFLAGS ?= $(OPT_LEVEL) -std=c11 -Wall -Wextra -march=native -mavx2 -mfma .PHONY: all run clean