optimization work
All checks were successful
studiorailgun/fluid-sim/pipeline/head This commit looks good

This commit is contained in:
unknown 2024-03-10 19:14:50 -04:00
parent 1230ac51cb
commit 6a8a461298
4 changed files with 23 additions and 19 deletions

View File

@ -41,20 +41,20 @@ rm -f ./*.dll
#compile object files #compile object files
COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" # COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow"
INPUT_FILES="./densitystep.c" # INPUT_FILES="./densitystep.c"
OUTPUT_FILE="./densitystep.o" # OUTPUT_FILE="./densitystep.o"
gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE # gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE
COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" # COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow"
INPUT_FILES="./velocitystep.c" # INPUT_FILES="./velocitystep.c"
OUTPUT_FILE="./velocitystep.o" # OUTPUT_FILE="./velocitystep.o"
gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE # gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE
COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" # COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow"
INPUT_FILES="./chunkmask.c" # INPUT_FILES="./chunkmask.c"
OUTPUT_FILE="./chunkmask.o" # OUTPUT_FILE="./chunkmask.o"
gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE # gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OUTPUT_FILE
COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow" COMPILE_FLAGS="-c -fPIC -m64 -mavx -mavx2 -march=native -Ofast -msse -msse2 -msse3 -mmmx -m3dnow"
INPUT_FILES="./fluidsim.c" INPUT_FILES="./fluidsim.c"
@ -66,7 +66,7 @@ gcc $COMPILE_FLAGS -I"$BASE_INCLUDE_DIR" -I"$OS_INCLUDE_DIR" $INPUT_FILES -o $OU
#compile shared object file #compile shared object file
OUTPUT_FILE="libfluidsim$LIB_ENDING" OUTPUT_FILE="libfluidsim$LIB_ENDING"
COMPILE_FLAGS="-shared" COMPILE_FLAGS="-shared"
INPUT_FILES="densitystep.o velocitystep.o chunkmask.o fluidsim.o" INPUT_FILES="fluidsim.o"
gcc $COMPILE_FLAGS $INPUT_FILES -o $OUTPUT_FILE gcc $COMPILE_FLAGS $INPUT_FILES -o $OUTPUT_FILE
#move to resources #move to resources

View File

@ -5,6 +5,10 @@
#include "includes/electrosphere_FluidSim.h" #include "includes/electrosphere_FluidSim.h"
#include "includes/mainFunctions.h" #include "includes/mainFunctions.h"
#include "./chunkmask.c"
#include "./velocitystep.c"
#include "./densitystep.c"
//include stb ds //include stb ds
#define STB_DS_IMPLEMENTATION #define STB_DS_IMPLEMENTATION
#include "./lib/stb/stb_ds.h" #include "./lib/stb/stb_ds.h"
@ -12,8 +16,8 @@
#define DIM 18 #define DIM 18
#define LINEARSOLVERTIMES 20 #define LINEARSOLVERTIMES 20
#define DIFFUSION_CONSTANT 0.0 #define DIFFUSION_CONSTANT 0.000001
#define VISCOSITY_CONSTANT 0.0 #define VISCOSITY_CONSTANT 0.000001
/** /**
* A chunk * A chunk

View File

@ -189,8 +189,8 @@ public class FluidSim {
//clock //clock
time = time + (GLFW.glfwGetTime() - lastTime); time = time + (GLFW.glfwGetTime() - lastTime);
i++; i++;
if(i == 10){ if(i == 100){
System.out.println(time / 10.0 * 1000.0); System.out.println(time / 100.0 * 1000.0);
} }

View File

@ -56,7 +56,6 @@ public class Main {
//Simulate //Simulate
// //
FluidSim.simChunks(simArray,i,0.01f); FluidSim.simChunks(simArray,i,0.01f);
time = time + (System.currentTimeMillis() - lastTime);
// //
//Remesh //Remesh
// //
@ -67,11 +66,12 @@ public class Main {
} }
} }
} }
time = time + (System.currentTimeMillis() - lastTime);
//redraw //redraw
GLFWContext.redraw(meshArray); GLFWContext.redraw(meshArray);
i++; i++;
if(i == 100){ if(i == 100){
// System.out.println(time / 100.0); System.out.println("overall time: " + time / 100.0);
} }
if(i > 3){ if(i > 3){
// scan.next(); // scan.next();