Modified Makefile for Linux and updated Visual Studio project files for Linux support, Added infromation to README
This commit is contained in:
5
.gitignore
vendored
Normal file
5
.gitignore
vendored
Normal file
@ -0,0 +1,5 @@
|
||||
linux/build
|
||||
windows/build
|
||||
|
||||
linux/boat_sim
|
||||
windows/boat_sim.exe
|
20
README.md
20
README.md
@ -4,7 +4,7 @@
|
||||
|
||||
Cílem projektu je optimalizovat algoritmus pro výpočet vln na vodě. Tento algoritmus je implementován v souboru `Ocean.cpp`, konkrétně ve funkci `updateVertices` a jejích volaných funkcích. Vaším úkolem bude vytvořit optimalizovanou verzi této funkce pomocí **SSE, AVX** nebo **AVX2**.
|
||||
|
||||
Kód můžete implementovat pomocí **intrinsic funkcí** (změňte v `Ocean.h` makro `ASM_TYPE` na `INTRINSIC`) nebo čistě v **GCC inline assembly** v souboru `xlogin00.s` (změňte `ASM_TYPE` na `CLEAR_ASM`).
|
||||
Kód můžete implementovat pomocí **intrinsic funkcí** (změňte v `Ocean.h` makro `ASM_TYPE` na `INTRINSIC`) nebo čistě v **GCC inline assembly** v souboru `xlogin00.s` (změňte `ASM_TYPE` na `CLEAR_ASM`). Pokud použijete intrinsic funkce, budete řešit zadání v jednodušší variantě, a projekt bude hodnocen přísněji.
|
||||
|
||||
## Struktura dat
|
||||
|
||||
@ -47,6 +47,16 @@ Odevzdávat budete následující soubory:
|
||||
- `xlogin00.s`
|
||||
- `dokumentace.pdf`
|
||||
|
||||
|
||||
## Použití velkých jazykových modelů (ChatGPT, ....).
|
||||
|
||||
Během řešení projektu můžete využít jazykové modely za následujících podmínek: budou použity pouze na části kódu, danému kódu budete rozumět a v dokumentaci uvedete, k čemu jste jazykový model použili.
|
||||
|
||||
## Obhajoba
|
||||
|
||||
Na poslední cvičení bude obhajoba projektu, cílem je ukázat, že projektu rozumíte a víte, co jednotlivé části kódu dělají. V případě, že nebudete schopni vysvětlit, co váš kód dělá, bude to mít negativní vliv na hodnocení.
|
||||
|
||||
|
||||
## Překlad a spuštění
|
||||
|
||||
### Windows + VS Code
|
||||
@ -63,3 +73,11 @@ Pro **Debian-based OS** (Ubuntu, Debian):
|
||||
sudo apt update
|
||||
sudo apt install freeglut3-dev libglew-dev libsoil-dev libgl-dev libglu-dev
|
||||
```
|
||||
|
||||
V případě, že používaté VS Code na linuxu, povolte si v nastavení (Preferences) přidávání breakpoint do neznámých souboru (volba Allow Breakpoints Everywhere).
|
||||
|
||||
|
||||
## Bug, bugs,....
|
||||
|
||||
Pokud narazíte na problém, napište na goldmann@fit.vutbr.cz.
|
||||
|
||||
|
19
linux/.vscode/c_cpp_properties.json
vendored
19
linux/.vscode/c_cpp_properties.json
vendored
@ -1,20 +1,15 @@
|
||||
{
|
||||
"configurations": [
|
||||
{
|
||||
"name": "Win32",
|
||||
"name": "Linux",
|
||||
"includePath": [
|
||||
"${workspaceFolder}/**",
|
||||
"${workspaceFolder}\\..\\include"
|
||||
"${workspaceFolder}/include"
|
||||
],
|
||||
"defines": [
|
||||
"_DEBUG",
|
||||
"UNICODE",
|
||||
"_UNICODE"
|
||||
],
|
||||
"compilerPath": "${workspaceFolder}\\..\\mingw64\\bin\\g++.exe",
|
||||
"cStandard": "c11",
|
||||
"cppStandard": "c++17",
|
||||
"intelliSenseMode": "gcc-x64"
|
||||
"defines": [],
|
||||
"compilerPath": "/usr/bin/gcc",
|
||||
"cStandard": "c17",
|
||||
"cppStandard": "c++14",
|
||||
"intelliSenseMode": "linux-clang-x64"
|
||||
}
|
||||
],
|
||||
"version": 4
|
||||
|
2
linux/.vscode/launch.json
vendored
2
linux/.vscode/launch.json
vendored
@ -5,7 +5,7 @@
|
||||
"name": "(gdb) Launch",
|
||||
"type": "cppdbg",
|
||||
"request": "launch",
|
||||
"program": "boat_sim",
|
||||
"program": "${workspaceFolder}/./boat_sim",
|
||||
"args": [],
|
||||
"stopAtEntry": true,
|
||||
"cwd": "${workspaceFolder}",
|
||||
|
2
linux/.vscode/tasks.json
vendored
2
linux/.vscode/tasks.json
vendored
@ -29,7 +29,7 @@
|
||||
{
|
||||
"label": "Run",
|
||||
"type": "shell",
|
||||
"command": "boat_sim",
|
||||
"command": "make run",
|
||||
"options": {
|
||||
"cwd": "${workspaceFolder}"
|
||||
},
|
||||
|
@ -4,9 +4,10 @@
|
||||
CXX = g++
|
||||
CXXFLAGS = -Wall -g -mavx -msse4 # -Wall for more warnings, -g for debugging symbols
|
||||
INC_DIR = include
|
||||
LIBS = -lfreeglut -lglew32 -lSOIL -lopengl32 -lglu32
|
||||
LIB_DIR = ..\libs
|
||||
LDFLAGS = -L$(LIB_DIR)
|
||||
LIBS = -lglut -lSOIL -lGL -lGLEW -lGLU
|
||||
LIB_DIRS = /usr/lib /usr/lib/x86_64-linux-gnu
|
||||
|
||||
LDFLAGS = $(addprefix -L, $(LIB_DIRS))
|
||||
|
||||
# Directories
|
||||
SRC_DIR = src
|
||||
@ -45,7 +46,7 @@ $(BUILD_DIR)/%.o: $(SRC_DIR)/%.s
|
||||
|
||||
# Clean target
|
||||
clean:
|
||||
rm -rf $(BUILD_DIR)
|
||||
rm $(BUILD_DIR)/*
|
||||
|
||||
# Debug build target
|
||||
debug: CXXFLAGS += -DDEBUG -g
|
||||
@ -58,4 +59,4 @@ run: all
|
||||
rundebug: debug
|
||||
gdb ./$(EXECUTABLE_PATH)
|
||||
|
||||
.PHONY: all clean debug run rundebug
|
||||
.PHONY: all clean debug run rundebug
|
||||
|
Reference in New Issue
Block a user