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.
This commit is contained in:
parent
1952325569
commit
2d8601701d
@ -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 $@
|
||||
|
Loading…
x
Reference in New Issue
Block a user