[c_api] Fix GPU library build (#1296)

- depend on libfaiss.so instead of libgpufaiss.so
- update include directives in gpu C wrapper impl
- fix implicit call warning in C examples
This commit is contained in:
Eduardo Pinho
2020-07-27 17:26:17 +02:00
committed by GitHub
parent 9e5d5b722e
commit bf593c0fae
8 changed files with 21 additions and 17 deletions
+1
View File
@@ -13,6 +13,7 @@
#include <time.h>
#include "error_c.h"
#include "index_factory_c.h"
#include "index_io_c.h"
#include "Index_c.h"
#include "IndexFlat_c.h"
+4 -2
View File
@@ -12,8 +12,10 @@
#include "GpuClonerOptions_c.h"
#include "macros_impl.h"
#include "Index.h"
#include "gpu/GpuAutoTune.h"
#include "gpu/GpuClonerOptions.h"
#include <faiss/gpu/GpuCloner.h>
#include <faiss/gpu/GpuResources.h>
#include <faiss/gpu/GpuAutoTune.h>
#include <faiss/gpu/GpuClonerOptions.h>
#include <vector>
using faiss::Index;
+1 -1
View File
@@ -9,7 +9,7 @@
// -*- c++ -*-
#include "GpuClonerOptions_c.h"
#include "gpu/GpuClonerOptions.h"
#include <faiss/gpu/GpuClonerOptions.h>
#include "macros_impl.h"
using faiss::gpu::IndicesOptions;
+1 -1
View File
@@ -8,7 +8,7 @@
// Copyright 2004-present Facebook. All Rights Reserved.
// -*- c++ -*-
#include "gpu/GpuIndex.h"
#include <faiss/gpu/GpuIndex.h>
#include "GpuIndex_c.h"
#include "macros_impl.h"
+1 -1
View File
@@ -9,7 +9,7 @@
// -*- c++ -*-
#include "gpu/GpuResources_c.h"
#include "gpu/GpuResources.h"
#include <faiss/gpu/GpuResources.h>
#include "macros_impl.h"
using faiss::gpu::GpuResources;
+11 -11
View File
@@ -10,7 +10,7 @@
include ../../makefile.inc
DEBUGFLAG=-DNDEBUG # no debugging
LIBNAME=libgpufaiss
LIBNAME=libfaiss
CLIBNAME=libgpufaiss_c
LIBGPUCOBJ=GpuAutoTune_c.o GpuClonerOptions_c.o GpuIndex_c.o GpuResources_c.o \
StandardGpuResources_c.o
@@ -23,15 +23,15 @@ all: $(CLIBNAME).$(SHAREDEXT)
# Build static object file containing the wrapper implementation only.
# Consumers are required to link with the C++ standard library and remaining
# portions of this library: libfaiss_c.a, libfaiss.a, libgpufaiss.a, and libstdc++.
$(CLIBNAME).a: $(LIBGPUCOBJ) ../../gpu/$(LIBNAME).a
# portions of this library: libfaiss_c.a, libfaiss.a, and libstdc++.
$(CLIBNAME).a: $(LIBGPUCOBJ) ../../$(LIBNAME).a
ar r $@ $^
# Build dynamic library
$(CLIBNAME).$(SHAREDEXT): $(LIBCOBJ) $(LIBGPUCOBJ) ../../libfaiss.a ../../gpu/$(LIBNAME).a
$(CLIBNAME).$(SHAREDEXT): $(LIBCOBJ) $(LIBGPUCOBJ) ../../libfaiss.a
$(CXX) $(LDFLAGS) $(SHAREDFLAGS) $(CUDACFLAGS) -o $@ \
-Wl,--whole-archive $(LIBCOBJ) ../../libfaiss.a \
-Wl,--no-whole-archive -static-libstdc++ $(LIBGPUCOBJ) $(LIBS) ../../gpu/$(LIBNAME).a \
-Wl,--no-whole-archive -static-libstdc++ $(LIBGPUCOBJ) $(LIBS) \
$(NVCCLDFLAGS) $(NVCCLIBS)
# Build GPU example
@@ -47,17 +47,17 @@ clean:
# Dependencies
GpuAutoTune_c.o: CXXFLAGS += -I.. -I../.. $(CUDACFLAGS) $(DEBUGFLAG)
GpuAutoTune_c.o: GpuAutoTune_c.cpp GpuAutoTune_c.h ../../gpu/GpuAutoTune.h ../Index_c.h ../macros_impl.h
GpuAutoTune_c.o: CXXFLAGS += -I.. -I../.. -I../../gpu -I../../impl $(CUDACFLAGS) $(DEBUGFLAG)
GpuAutoTune_c.o: GpuAutoTune_c.cpp GpuAutoTune_c.h ../../gpu/GpuCloner.h ../../gpu/GpuAutoTune.h ../Index_c.h ../macros_impl.h
GpuClonerOptions_c.o: CXXFLAGS += -I.. -I../.. $(CUDACFLAGS) $(DEBUGFLAG)
GpuClonerOptions_c.o: CXXFLAGS += -I.. -I../.. -I../../gpu -I../../impl $(CUDACFLAGS) $(DEBUGFLAG)
GpuClonerOptions_c.o: GpuClonerOptions_c.cpp GpuClonerOptions_c.h GpuIndicesOptions_c.h ../../gpu/GpuClonerOptions.h ../macros_impl.h
GpuIndex_c.o: CXXFLAGS += -I.. -I../.. $(CUDACFLAGS) $(DEBUGFLAG)
GpuIndex_c.o: CXXFLAGS += -I.. -I../.. -I../../gpu -I../../impl $(CUDACFLAGS) $(DEBUGFLAG)
GpuIndex_c.o: GpuIndex_c.cpp GpuIndex_c.h ../../gpu/GpuIndex.h ../macros_impl.h
GpuResources_c.o: CXXFLAGS += -I.. -I../.. $(CUDACFLAGS) $(DEBUGFLAG)
GpuResources_c.o: CXXFLAGS += -I.. -I../.. -I../../gpu -I../../impl $(CUDACFLAGS) $(DEBUGFLAG)
GpuResources_c.o: GpuResources_c.cpp GpuResources_c.h ../../gpu/GpuResources.h ../macros_impl.h
StandardGpuResources_c.o: CXXFLAGS += -I.. -I../.. $(CUDACFLAGS) $(DEBUGFLAG)
StandardGpuResources_c.o: CXXFLAGS += -I.. -I../.. -I../../gpu -I../../impl $(CUDACFLAGS) $(DEBUGFLAG)
StandardGpuResources_c.o: StandardGpuResources_c.cpp StandardGpuResources_c.h ../../gpu/StandardGpuResources.h ../macros_impl.h
+1 -1
View File
@@ -9,7 +9,7 @@
// -*- c++ -*-
#include "gpu/StandardGpuResources_c.h"
#include "gpu/StandardGpuResources.h"
#include <faiss/gpu/StandardGpuResources.h>
#include "macros_impl.h"
using faiss::gpu::StandardGpuResources;
+1
View File
@@ -13,6 +13,7 @@
#include <time.h>
#include "error_c.h"
#include "index_factory_c.h"
#include "Index_c.h"
#include "AutoTune_c.h"
#include "GpuAutoTune_c.h"