Skip to content
Snippets Groups Projects
Commit c68716d8 authored by Prakalp Srivastava's avatar Prakalp Srivastava
Browse files

Fixed sgemm compilation issue. Avoid invoke inst by using flag -fno-exceptions

parent 184d8dd6
No related branches found
No related tags found
No related merge requests found
......@@ -347,6 +347,7 @@ void CodeGenTraversal::initRuntimeAPI() {
Function* VI = M.getFunction("llvm.visc.init");
assert(VI->getNumUses() == 1 && "__visc__init should only be used once");
DEBUG(errs() << "Gen Code to initialize NVPTX Timer\n");
InitCall = cast<Instruction>(*VI->use_begin());
initializeTimerSet(InitCall);
switchToTimer(visc_TimerID_INIT_CTX, InitCall);
......@@ -358,6 +359,7 @@ void CodeGenTraversal::initRuntimeAPI() {
errs() << *VC << "\n";
assert(VC->getNumUses() == 1 && "__visc__clear should only be used once");
DEBUG(errs() << "Gen Code to print NVPTX Timer\n");
CleanupCall = cast<Instruction>(*VC->use_begin());
printTimerSet(CleanupCall);
......
......@@ -73,12 +73,11 @@ __attribute__((noinline)) void basicSgemm( char transa, char transb, int m, int
unsigned db[2] = {TILE_SZ,TILE_SZ};
unsigned dg[2] = {m/TILE_SZ*db[0],n/TILE_SZ*db[1]};
void* sgemmDFG = __visc__node((void*) mysgemmNT, 2, 2, db[0], db[1], dg[0]/db[0], dg[1]/db[1], 12, A, bytesA, lda, B, bytesB, ldb, C, bytesC, ldc, k, alpha, beta, 0);
unsigned sgemmDFG = __visc__node(mysgemmNT, 2, 2, db[0], db[1], dg[0]/db[0], dg[1]/db[1], 12, A, bytesA, lda, B, bytesB, ldb, C, bytesC, ldc, k, alpha, beta, 0);
__visc__wait(sgemmDFG);
}
int main (int argc, char *argv[]) {
__visc__init();
struct pb_Parameters *params;
struct pb_TimerSet timers;
......@@ -89,6 +88,7 @@ int main (int argc, char *argv[]) {
std::vector<float> matA, matBT;
pb_InitializeTimerSet(&timers);
__visc__init();
/* Read command line. Expect 3 inputs: A, B and B^T
in column-major layout*/
......
......@@ -9,8 +9,8 @@
#ifdef __cplusplus
extern "C" {
void __visc__attributes(unsigned, ...);
void __visc__wait(void*);
void* __visc__node(void*, unsigned, unsigned, ...);
void __visc__wait(unsigned);
unsigned __visc__node(...);
void __visc__init();
void __visc__cleanup();
#endif
......
......@@ -2,7 +2,7 @@
# Default language wide options
LANG_CFLAGS=-I$(PARBOIL_ROOT)/common/include
LANG_CXXFLAGS=$(LANG_CFLAGS)
LANG_CXXFLAGS=$(LANG_CFLAGS) -fno-exceptions
LANG_LDFLAGS=-lOpenCL -L$(OPENCL_LIB_PATH) -lrt
CFLAGS=$(LANG_CFLAGS) $(PLATFORM_CFLAGS) $(APP_CFLAGS)
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment