mirror of https://github.com/Nonannet/copapy.git
helper scripts updated
This commit is contained in:
parent
b8613f3d98
commit
d2db667741
|
|
@ -1,30 +1,36 @@
|
|||
echo ------------------------------
|
||||
python stencils/generate_stencils.py bin/stencils.c
|
||||
|
||||
echo -------------x86_64 - 64 bit-----------------
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x64
|
||||
echo - Compile stencil test...
|
||||
cl /Zi /Od stencils\test.c /Fe:bin\test.exe
|
||||
|
||||
echo - Build runner for Windows 64 bit...
|
||||
cl /Zi /Od /DENABLE_BASIC_LOGGING src\coparun\runmem.c src\coparun\coparun.c src\coparun\mem_man.c /Fe:bin\coparun.exe
|
||||
|
||||
REM Optimized:
|
||||
REM cl /O2 src\coparun\runmem.c src\coparun\coparun.c src\coparun\mem_man.c /Fe:bin\coparun.exe
|
||||
|
||||
echo - Build stencils for Windows 64 bit...
|
||||
python stencils/generate_stencils.py --abi ms bin/stencils.c
|
||||
wsl gcc -fno-pic -c bin/stencils.c -O3 -o src/copapy/obj/stencils_AMD64_O3.o
|
||||
echo - Build stencils for 64 bit...
|
||||
wsl gcc -fno-pic -c bin/stencils.c -O3 -o src/copapy/obj/stencils_x86_64_O3.o
|
||||
|
||||
echo ------------------------------
|
||||
echo ---------------x86 - 32 bit---------------
|
||||
call "C:\Program Files (x86)\Microsoft Visual Studio\2022\BuildTools\VC\Auxiliary\Build\vcvarsall.bat" x86
|
||||
|
||||
echo - Build runner for Windows 32 bit...
|
||||
cl /Zi /Od /DENABLE_BASIC_LOGGING src\coparun\runmem.c src\coparun\coparun.c src\coparun\mem_man.c /Fe:bin\coparun-x86.exe
|
||||
|
||||
echo - Build stencils for Windows 32 bit...
|
||||
echo - Build runner for linux x86 32 bit...
|
||||
wsl gcc -m32 -static -Wall -Wextra -Wconversion -Wsign-conversion -Wshadow -Wstrict-overflow -O3 -DENABLE_LOGGING src/coparun/runmem.c src/coparun/coparun.c src/coparun/mem_man.c -o bin/coparun-i686
|
||||
|
||||
echo - Build stencils x86 32 bit...
|
||||
wsl gcc -m32 -fno-pic -c bin/stencils.c -O3 -o src/copapy/obj/stencils_x86_O3.o
|
||||
|
||||
|
||||
echo ------------------------------
|
||||
echo --------------arm64 64 bit----------------
|
||||
echo - Build stencils for aarch64...
|
||||
python stencils/generate_stencils.py bin/stencils.c
|
||||
wsl aarch64-linux-gnu-gcc -fno-pic -c bin/stencils.c -O3 -o src/copapy/obj/stencils_aarch64_O3.o
|
||||
wsl aarch64-linux-gnu-gcc -fno-pic -c bin/stencils.c -O3 -o src/copapy/obj/stencils_arm64_O3.o
|
||||
|
||||
echo ------------------------------
|
||||
echo - Build runner for Aarch64...
|
||||
wsl aarch64-linux-gnu-gcc -static -Wall -Wextra -Wconversion -Wsign-conversion -Wshadow -Wstrict-overflow -O3 -DENABLE_LOGGING src/coparun/runmem.c src/coparun/coparun.c src/coparun/mem_man.c -o bin/coparun-aarch64
|
||||
wsl aarch64-linux-gnu-gcc -static -Wall -Wextra -Wconversion -Wsign-conversion -Wshadow -Wstrict-overflow -O3 -DENABLE_LOGGING src/coparun/runmem.c src/coparun/coparun.c src/coparun/mem_man.c -o bin/coparun-aarch64
|
||||
|
|
|
|||
|
|
@ -13,29 +13,19 @@ mkdir -p $DEST
|
|||
|
||||
# -------------- Compile stencils --------------
|
||||
|
||||
# Windows x86_64 (ARM64)
|
||||
python3 stencils/generate_stencils.py --abi ms $SRC
|
||||
gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_AMD64_$OPT.o
|
||||
|
||||
# Windows x86
|
||||
gcc-13 $FLAGS -m32 -$OPT -c $SRC -o $DEST/stencils_x86_$OPT.o
|
||||
|
||||
|
||||
# Native x86_64
|
||||
python3 stencils/generate_stencils.py $SRC
|
||||
|
||||
# x86_64
|
||||
gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_x86_64_$OPT.o
|
||||
|
||||
# Native i686
|
||||
cp $DEST/stencils_x86_$OPT.o $DEST/stencils_i686_$OPT.o
|
||||
# x86 - 32 bit
|
||||
gcc-13 $FLAGS -m32 -$OPT -c $SRC -o $DEST/stencils_x86_$OPT.o
|
||||
|
||||
# ARM64 linux (aarch64)
|
||||
aarch64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_aarch64_$OPT.o
|
||||
|
||||
# ARM64 macos (copy aarch64)
|
||||
cp $DEST/stencils_aarch64_$OPT.o $DEST/stencils_arm64_$OPT.o
|
||||
aarch64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_arm64_$OPT.o
|
||||
|
||||
# ARMv7
|
||||
arm-linux-gnueabihf-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_armv7_$OPT.o
|
||||
arm-linux-gnueabihf-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_arm_$OPT.o
|
||||
|
||||
# PowerPC64LE
|
||||
# powerpc64le-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_ppc64le_$OPT.o
|
||||
|
|
@ -50,7 +40,7 @@ mips-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mips_$OPT.o
|
|||
mipsel-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_mipsel_$OPT.o
|
||||
|
||||
# RISCV 32 Bit
|
||||
# riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv32_$OPT.o
|
||||
# riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -march=rv32imac -mabi=ilp32 -c $SRC -o $DEST/stencils_riscv_$OPT.o
|
||||
|
||||
# RISCV 64 Bit
|
||||
riscv64-linux-gnu-gcc-13 $FLAGS -$OPT -c $SRC -o $DEST/stencils_riscv64_$OPT.o
|
||||
|
|
|
|||
|
|
@ -1,13 +1,16 @@
|
|||
python tools/make_example.py
|
||||
REM python tools/extract_code.py "bin/test.copapy" "bin/test.copapy.bin"
|
||||
wsl qemu-aarch64 bin/coparun-aarch64 bin/test-aarch64.copapy bin/test-aarch64.copapy.bin
|
||||
wsl aarch64-linux-gnu-objdump -D -b binary -m aarch64 --adjust-vma=0x5000 bin/test-aarch64.copapy.bin
|
||||
REM wsl qemu-aarch64 bin/coparun-aarch64 bin/test-aarch64.copapy bin/test-aarch64.copapy.bin
|
||||
REM wsl aarch64-linux-gnu-objdump -D -b binary -m aarch64 --adjust-vma=0x5000 bin/test-aarch64.copapy.bin
|
||||
|
||||
python tools/extract_code.py "bin/test-aarch64.copapy" "bin/test-aarch64.copapy2.bin"
|
||||
wsl aarch64-linux-gnu-objdump -D -b binary -m aarch64 --adjust-vma=0x5000 bin/test-aarch64.copapy2.bin
|
||||
REM wsl aarch64-linux-gnu-objdump -D -b binary -m aarch64 --adjust-vma=0x5000 bin/test-aarch64.copapy2.bin
|
||||
|
||||
REM wsl objdump -D -b binary -m i386:x86-64 --adjust-vma=0x1000 bin/test.copapy.bin
|
||||
bin\coparun bin/test.copapy bin/test.copapy.bin
|
||||
wsl objdump -D -b binary -m i386:x86-64 --adjust-vma=0x500000 bin/test.copapy.bin
|
||||
|
||||
REM wsl aarch64-linux-gnu-objdump -d -x src/copapy/obj/stencils_aarch64_O3.o
|
||||
REM wsl aarch64-linux-gnu-objdump -d -x src/copapy/obj/stencils_arm64_O3.o
|
||||
|
||||
REM wsl objdump -D -b binary -m i8086 --adjust-vma=0x5000 bin/test-x86.copapy.bin
|
||||
REM wsl objdump -D -b binary -m i386 --adjust-vma=0x5000 bin/test-x86.copapy.bin
|
||||
|
||||
|
||||
|
||||
REM wsl objdump -d -x src/copapy/obj/stencils_x86_O3.o
|
||||
|
|
@ -1,6 +1,7 @@
|
|||
from copapy import variable
|
||||
from copapy.backend import Write, compile_to_dag, stencil_db_from_package
|
||||
from copapy._binwrite import Command
|
||||
import copapy as cp
|
||||
|
||||
|
||||
def compile_to_x86_64() -> None:
|
||||
|
|
@ -26,6 +27,30 @@ def compile_to_x86_64() -> None:
|
|||
dw.to_file('bin/test.copapy')
|
||||
|
||||
|
||||
def compile_to_x86() -> None:
|
||||
"""Test compilation of a simple program for x86 32 bit."""
|
||||
c1 = variable(9.0)
|
||||
|
||||
#ret = [c1 / 4, c1 / -4, c1 // 4, c1 // -4, (c1 * -1) // 4]
|
||||
ret = [c1 // 3.3 + 5]
|
||||
#ret = [cp.sqrt(c1)]
|
||||
#c2 = cp._math.get_42()
|
||||
#ret = [c2]
|
||||
ret = [cp.sin(variable(2.5))]
|
||||
|
||||
out = [Write(r) for r in ret]
|
||||
|
||||
sdb = stencil_db_from_package('x86')
|
||||
dw, _ = compile_to_dag(out, sdb)
|
||||
|
||||
dw.write_com(Command.DUMP_CODE)
|
||||
|
||||
print('* Data to runner:')
|
||||
dw.print()
|
||||
|
||||
dw.to_file('bin/test-x86.copapy')
|
||||
|
||||
|
||||
def compile_to_aarch64() -> None:
|
||||
"""Test compilation of a simple program for aarch64."""
|
||||
c1 = variable(9.0)
|
||||
|
|
@ -38,7 +63,7 @@ def compile_to_aarch64() -> None:
|
|||
|
||||
out = [Write(r) for r in ret]
|
||||
|
||||
sdb = stencil_db_from_package('aarch64')
|
||||
sdb = stencil_db_from_package('arm64')
|
||||
dw, _ = compile_to_dag(out, sdb)
|
||||
|
||||
dw.write_com(Command.DUMP_CODE)
|
||||
|
|
@ -51,4 +76,5 @@ def compile_to_aarch64() -> None:
|
|||
|
||||
if __name__ == "__main__":
|
||||
compile_to_x86_64()
|
||||
compile_to_x86()
|
||||
compile_to_aarch64()
|
||||
|
|
|
|||
|
|
@ -14,10 +14,3 @@ gcc-12 $FLAGS -c $SRC -O0 -o $DEST/stencils_x86_64_O0.o
|
|||
gcc-12 $FLAGS -c $SRC -O1 -o $DEST/stencils_x86_64_O1.o
|
||||
gcc-12 $FLAGS -c $SRC -O2 -o $DEST/stencils_x86_64_O2.o
|
||||
gcc-12 $FLAGS -c $SRC -O3 -o $DEST/stencils_x86_64_O3.o
|
||||
|
||||
python stencils/generate_stencils.py --abi ms $SRC
|
||||
|
||||
gcc-12 $FLAGS -c $SRC -O0 -o $DEST/stencils_AMD64_O0.o
|
||||
gcc-12 $FLAGS -c $SRC -O1 -o $DEST/stencils_AMD64_O1.o
|
||||
gcc-12 $FLAGS -c $SRC -O2 -o $DEST/stencils_AMD64_O2.o
|
||||
gcc-12 $FLAGS -c $SRC -O3 -o $DEST/stencils_AMD64_O3.o
|
||||
Loading…
Reference in New Issue