User Details
- User Since
- May 9 2018, 10:30 AM (254 w, 3 d)
Sep 14 2018
Aug 31 2018
I don't understand this. llvm_test_verify_hash_program_output() only inserts a hashing step to the verification script, you still need the final fpcmp invocation (and the WORKDIR setting is separate for every step).
In the definition of llvm_test_verify_hash_program_output(), llvm_test_verify(WORKDIR ${CMAKE_CURRENT_BINARY_DIR} ${CMAKE_SOURCE_DIR}/HashProgramOutput.sh ${_file}) is called which sets the work directory to current binary directory. So we need not call llvm_test_verify with WORKDIR ${CMAKE_CURRENT_BINARY_DIR} argument after llvm_test_verify_hash_program_output, simply llvm_test_verify(${FPCMP} bilinear.reference_output bilinearOutput.txt) will work. Passing WORKDIR argument does not cause any harm though.
Aug 30 2018
After applying this patch, the tests fail for me because it is taking the hash of stdout instead of the file mentioned in llvm_test_verify_hash_program_output macro.
Changing line 64 of cmake/modules/SingleMultiSource.cmake to ${CMAKE_SOURCE_DIR}/HashProgramOutput.sh ${file} will fix this.
Aug 17 2018
Aug 13 2018
Aug 9 2018
Reduced test size
Total runtime is still there for about 5.5s (with benchmark library) because the benchmark library runs kernel for multiple inputs.
Aug 8 2018
Aug 7 2018
Thank you for the solution Santosh, It seems like my GitHub account was actually linked to some other account on Phabricator which I was not aware of, so I didn't get any notification for this patch on this account. I will try to get that account removed so that this won't happen in future.
Aug 6 2018
made changes requested by @Meinersbur
Adding each kernel in separate patches so that it will be easy to review and also we can revert only that kernel which causes problems (if any).
Aug 4 2018
Aug 3 2018
Changes:
- Use glibc_compat_rand.c from Common folder of Rodinia
- Use float * instead of the pointer to VLA in main.c
- Changed CMakeLists.txt
changed CMakeLists.txt
Jul 29 2018
Changes:
removed typedef int matrix[row][col]
compare the hash of output instead of checking all values
Jul 28 2018
reverted back to int *arr from int (*arr)[][].
added some comments
Jul 27 2018
changed array type from int (*) [][] to int * in main.cpp
Changes: update m along with image size when called with the benchmark library. For verification, only m=4 is used.
Changes: Used C99 VLAs in kernels.
Renamed glibc_compat_rand.cpp back to glibc_compat_rand.c and fixed the link erorr mentioned earlier in summary (when glibc_compat_rand.c was used) .
made changes requested by @Meinersbur
Jul 26 2018
Jul 21 2018
The kernel runs for 0.79 sec and the complete program runs for 0.81 sec.
Jul 20 2018
It runs for 1.1 sec for normal problem size and 0.6 sec for smaller
The main kernel function takes around 0.7-0.8 sec of 1.1 sec.
Polly detects scops here but runtime is still same
Jul 18 2018
Jul 16 2018
Changed function parameters from "int image[HEIGHT][WIDTH]" to "int *image"
Yes. They are added as a separate patch and this patch will be mentioned if they are using this.
Jul 14 2018
Jul 12 2018
Jun 25 2018
added LICENSE and fixed work directory issue.
Jun 21 2018
Added -ffast-math flag... Polly recognizes entire kernel but still no performance improvement with Polly.
Formatted using clang format
Jun 20 2018
Jun 18 2018
Runtime on this differential
Jun 13 2018
I don't know how to check LLVM -stats using lit.
Sizes matches the output of llvm-size, compile time and link time are also fine.
Updated input size, used malloc to allocate memory for the array.
Polly + O3 and only O3 are taking the same time. It seems like before code reaches Polly, It is already heavily optimized at O3 and Polly cannot find any further optimization possible on it even though it is in its SCoP.
Jun 11 2018
Jun 7 2018
Jun 5 2018
Jun 2 2018
Jun 1 2018
Fixed "backprop.h" showing as exec.