Hi Mat
Thank you for your quick response. Nevertheless, I’ve done what you have suggested, but still the code doesn’t compile. I obtain the same error at the linking stage.
Here the (complete) compiler output:
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/algeb.c -o obj/algeb.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/algorithm.c -o obj/algorithm.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/dynarr.c -o obj/dynarr.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/param.c -o obj/param.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/random.c -o obj/random.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/rply.c -o obj/rply.o
PGC-W-0043-Redefinition of symbol, va_list (j:\PROGRA~1\PGI/win32/10.9/include\stdarg.h: 37)
PGC/x86 Windows 10.9-0: compilation completed with warnings
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/sampler.c -o obj/sampler.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/sampler_ply.c -o obj/sampler_ply.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/saver.c -o obj/saver.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/saver_ply.c -o obj/saver_ply.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/soam.c -o obj/soam.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/soam2d.c -o obj/soam2d.o
soam2d_find_winners:
790, Generating copyout(soam_distances[:soam_cuda_real_threads*3-1])
Generating copyout(soam_indices[:soam_cuda_real_threads*3-1])
Generating copyin(soam_landmarks[:vertices*4-1])
Generating copyin(soam_samples[:soam_cuda_real_threads*4-1])
Generating compute capability 1.3 binary
799, Loop is parallelizable
Accelerator kernel generated
799, #pragma acc for parallel(32), vector(32)
Non-stride-1 accesses for array 'soam_distances'
Non-stride-1 accesses for array 'soam_indices'
CC 1.3 : 18 registers; 20 shared, 52 constant, 0 local memory bytes; 25 occupancy
810, Scalar last value needed after loop for 'third_best_index' at line 843
Loop carried scalar dependence for 'third_best_distance' at line 835
Scalar last value needed after loop for 'third_best_distance' at line 847
Loop carried scalar dependence for 'second_best_index' at line 821
Loop carried scalar dependence for 'second_best_index' at line 830
Scalar last value needed after loop for 'second_best_index' at line 842
Loop carried scalar dependence for 'second_best_distance' at line 822
Loop carried scalar dependence for 'second_best_distance' at line 829
Loop carried scalar dependence for 'second_best_distance' at line 831
Scalar last value needed after loop for 'second_best_distance' at line 846
Loop carried scalar dependence for 'best_index' at line 824
Scalar last value needed after loop for 'best_index' at line 841
Loop carried scalar dependence for 'best_distance' at line 820
Loop carried scalar dependence for 'best_distance' at line 825
Scalar last value needed after loop for 'best_distance' at line 845
Inner sequential loop scheduled on accelerator
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/test.c -o obj/test.o
pgcc -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll -I../../code/soam-parallel/source -IJ:/DATA/stage/source/workspace
/code/freeglut/inc -c ../../code/soam-parallel/source/viewer.c -o obj/viewer.o
PGC-W-0043-Redefinition of symbol, va_list (j:\PROGRA~1\PGI/win32/10.9/include\stdarg.h: 37)
PGC/x86 Windows 10.9-0: compilation completed with warnings
pgcc -ta=nvidia,time -mp -Mdll -LJ:/DATA/stage/source/workspace/code/freeglut/lib/freeglut.lib -LJ:/DATA/stage/source/workspace/code/freeglut/lib/free
glut.dll ./obj/algeb.o ./obj/algorithm.o ./obj/dynarr.o ./obj/param.o ./obj/random.o ./obj/rply.o ./obj/sampler.o ./obj/sampler_ply.o ./obj/s
aver.o ./obj/saver_ply.o ./obj/soam.o ./obj/soam2d.o ./obj/test.o ./obj/viewer.o -o ./bin/soam-parallel
viewer.o : error LNK2019: unresolved external symbol __imp__glutInitDisplayMode@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutInitWindowSize@8 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutInitWindowPosition@8 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutDisplayFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutReshapeFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutMouseFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutMotionFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutKeyboardFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutSpecialFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutTimerFunc@12 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutIdleFunc@4 referenced in function _viewer_setup
viewer.o : error LNK2019: unresolved external symbol __imp__glutMainLoop@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutAddMenuEntry@8 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutAttachMenu@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glClearColor@16 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glClear@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutSwapBuffers@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glViewport@16 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glMatrixMode@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glLoadIdentity@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol _gluPerspective@32 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutPostRedisplay@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutGetModifiers@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glEnable@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol _gluLookAt@72 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glRotatef@16 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glTranslatef@12 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glColor3f@12 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glBegin@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glVertex3f@12 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glEnd@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glPointSize@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glDisable@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutGet@4 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glPolygonMode@8 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glVertex2i@8 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp____glutInitWithExit@12 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp____glutCreateWindowWithExit@8 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp____glutCreateMenuWithExit@8 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glPushMatrix@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glOrtho@48 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glPopMatrix@0 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glRasterPos2f@8 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol _glutBitmap8By13 referenced in function _viewer_launch
viewer.o : error LNK2019: unresolved external symbol __imp__glutBitmapCharacter@8 referenced in function _viewer_launch
./bin/soam-parallel.exe : fatal error LNK1120: 45 unresolved externals
And here the new makefile
CC = pgcc
CCFLAGS = -ta=nvidia,time -Minfo=loop,accel,vect,mp -Msafeptr -Mipa=fast -mp -fast -Mdll
GLUTDIR = J:/DATA/stage/source/workspace/code/freeglut
LDFLAGS = -ta=nvidia,time -mp -Mdll \
-L$(GLUTDIR)/lib/freeglut.lib \
-L$(GLUTDIR)/lib/freeglut.dll
BINDIR = ./bin
OBJDIR = ./obj
INCDIR = -I../../code/soam-parallel/source \
-I$(GLUTDIR)/inc
SRCDIR = ../../code/soam-parallel/source
SRCFILES := $(wildcard $(SRCDIR)/*.c)
OBJFILES := $(patsubst $(SRCDIR)/%.c, $(OBJDIR)/%.o, $(wildcard $(SRCDIR)/*.c))
EXEC = soam-parallel
all : init $(EXEC)
init :
mkdir -p $(OBJDIR) $(BINDIR)
$(EXEC) : $(OBJFILES)
$(CC) $(LDFLAGS) $(OBJFILES) -o $(BINDIR)/$(EXEC)
$(OBJDIR)/%.o : $(SRCDIR)/%.c
$(CC) $(CCFLAGS) $(INCDIR) -c $< -o $@
clean :
rm -fr $(OBJDIR)/* $(BINDIR)/*
Any suggestions ?
Cheers
A.