Fix build action order
Add $(INCTARGETS) to build dependencies of %.o and $(DEVICELIB). As there were no dep files during the first build, Make may kick off source compilation before nccl.h got generated, which leads to occasional build failures on systems with high core count. The build failure could be reproduced reliably with a `sleep 5` in $(INCDIR)/nccl.h rule.
Dieser Commit ist enthalten in:
committet von
Sylvain Jeaugey
Ursprung
1952325569
Commit
2d8601701d
+2
-2
@@ -46,7 +46,7 @@ lib : $(INCTARGETS) $(LIBDIR)/$(LIBTARGET) $(PKGDIR)/$(PKGTARGET)
|
||||
|
||||
staticlib : $(LIBDIR)/$(STATICLIBTARGET)
|
||||
|
||||
$(DEVICELIB): ALWAYS_REBUILD
|
||||
$(DEVICELIB): ALWAYS_REBUILD $(INCTARGETS)
|
||||
$(MAKE) -C collectives/device
|
||||
|
||||
# Empty target to force rebuild
|
||||
@@ -107,7 +107,7 @@ $(PKGDIR)/%.pc : %.pc
|
||||
mkdir -p $(PKGDIR)
|
||||
install -m 644 $< $@
|
||||
|
||||
$(OBJDIR)/%.o : %.cc
|
||||
$(OBJDIR)/%.o : %.cc $(INCTARGETS)
|
||||
@printf "Compiling %-35s > %s\n" $< $@
|
||||
mkdir -p `dirname $@`
|
||||
$(CXX) -I. -I$(INCDIR) $(CXXFLAGS) -Iinclude -c $< -o $@
|
||||
|
||||
In neuem Issue referenzieren
Einen Benutzer sperren