Skip to content

Commit

Permalink
cuda: update Makefile
Browse files Browse the repository at this point in the history
  • Loading branch information
iwata-axe committed Jul 22, 2013
1 parent a9e7476 commit 5f9cbfd
Show file tree
Hide file tree
Showing 11 changed files with 161 additions and 83 deletions.
96 changes: 82 additions & 14 deletions cuda/libucuda/Makefile
Expand Up @@ -6,24 +6,92 @@ CC = gcc
TARGET = libucuda
CUDUMP = cudump
GDEVDIR = /usr/local/gdev
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include
LDFLAGS = -L $(GDEVDIR)/lib64 -lgdev -lrt -Wl,-Bsymbolic
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include
LDFLAGS = -L $(GDEVDIR)/lib64 -lgdev -lrt -Wl,-Bsymbolic

#OBJS = $(patsubst %.c,%.o,$(wildcard ./*.c))
OBJS = init.o device.o version.o context.o module.o execution.o memory.o stream.o ipc.o event.o gdev_cuda.o dummy.o
CUDUMP_OBJS = cudump.o gdev_cuda.o
OCELOT_OBJS = runtime/ocelot/*/*.o
HYDRAZ_OBJS = runtime/hydrazine/*.o
ZOMBIE = $(wildcard ./*~)
#OBJS = $(patsubst %.c,%.o,$(wildcard ./*.c))
OBJS = init.o device.o version.o context.o module.o execution.o
OBJS += memory.o stream.o ipc.o event.o gdev_cuda.o dummy.o

CUDUMP_OBJS = cudump.o gdev_cuda.o

ANALYSIS = AffineAnalysis Analysis BranchInfo ControlTree
ANALYSIS += ConvergentRegionAnalysis DataflowGraph DirectionalGraph
ANALYSIS += DivergenceAnalysis DivergenceGraph DominatorTree
ANALYSIS += LoopAnalysis PostdominatorTree PredicateAnalysis
ANALYSIS += ProgramStructureGraph SSAGraph SimpleAliasAnalysis
ANALYSIS += SparseAnalysis StructuralAnalysis SuperblockAnalysis
ANALYSIS += ThreadFrontierAnalysis
ANALYSIS_OBJS = $(patsubst %, analysis/%.o, $(ANALYSIS))

API = ocelot
API_OBJS = $(patsubst %, api/%.o, $(API))

CUDA = CudaDriver CudaDriverFrontend
CUDA += CudaDriverInterface CudaRuntime CudaRuntimeInterface
CUDA += CudaWorkerThread FatBinaryContext cuda_runtime
CUDA_OBJS = $(patsubst %, cuda/%.o, $(CUDA))

EXECUTIVE = Device FrameInfo ExecutableKernel
EXECUTIVE += NVIDIAExecutableKernel NVIDIAGPUDevice
EXECUTIVE += RuntimeException
EXECUTIVE_OBJS = $(patsubst %, executive/%.o, $(EXECUTIVE))

IR = ControlFlowGraph Dim3 Global IRKernel Instruction
IR += Kernel Local Module PTXInstruction PTXKernel
IR += PTXOperand PTXStatement Parameter Texture
IR_OBJS = $(patsubst %, ir/%.o, $(IR))

PARSER = PTXLexer PTXParser ptx ptxgrammar
PARSER_OBJS = $(patsubst %, parser/%.o, $(PARSER))

TRANSFORMS = AddLocationMetadata AffineLinearScan AffineRegister
TRANSFORMS += AggressivePredication AssignFallThroughEdge
TRANSFORMS += CoalescedRegister ConstantPropagationPass
TRANSFORMS += ConvertPredicationToSelectPass DeadCodeEliminationPass
TRANSFORMS += DefaultLayoutPass DivergenceLinearScan
TRANSFORMS += DivergenceRegister EnforceLockStepExecutionPass
TRANSFORMS += FunctionInliningPass GlobalValueNumberingPass
TRANSFORMS += HoistParameterLoadsPass HoistSpecialValueDefinitionsPass
TRANSFORMS += IPDOMReconvergencePass KernelDrawerPass
TRANSFORMS += LinearScanRegisterAllocationPass LoopUnrollingPass
TRANSFORMS += MIMDThreadSchedulingPass MemoryArray
TRANSFORMS += ModuleLinkerPass MoveEliminationPass Pass PassFactory
TRANSFORMS += PassManager PriorityLayoutPass ReadableLayoutPass
TRANSFORMS += RemoveBarrierPass SharedPtrAttribute
TRANSFORMS += SimplifyControlFlowGraphPass
TRANSFORMS += SpillPolicy SplitBasicBlockPass StructuralTransform
TRANSFORMS += SubkernelFormationPass SyncEliminationPass
TRANSFORMS += ThreadFrontierReconvergencePass
TRANSFORMS_OBJS = $(patsubst %, transforms/%.o, $(TRANSFORMS))

OCELOT_OBJS = $(patsubst %, runtime/ocelot/%, $(ANALYSIS_OBJS))
OCELOT_OBJS += $(patsubst %, runtime/ocelot/%, $(API_OBJS))
OCELOT_OBJS += $(patsubst %, runtime/ocelot/%, $(CUDA_OBJS))
OCELOT_OBJS += $(patsubst %, runtime/ocelot/%, $(EXECUTIVE_OBJS))
OCELOT_OBJS += $(patsubst %, runtime/ocelot/%, $(IR_OBJS))
OCELOT_OBJS += $(patsubst %, runtime/ocelot/%, $(PARSER_OBJS))
OCELOT_OBJS += $(patsubst %, runtime/ocelot/%, $(TRANSFORMS_OBJS))

HYDRAZINE = ELFFile Exception LowLevelTimer SystemCompatibility
HYDRAZINE += Thread Timer Version compression debug string
HYDRAZINE_OBJS = $(patsubst %, runtime/hydrazine/%.o, $(HYDRAZINE))

ZOMBIE = $(wildcard ./*~)

ifeq ($(WITHOUT_RUNTIME),0)
OBJS += $(OCELOT_OBJS) $(HYDRAZ_OBJS)
LDFLAGS += -lboost_thread -ldl
OBJS += $(OCELOT_OBJS) $(HYDRAZINE_OBJS)
RUNTIME_LDFLAGS = -lboost_thread -ldl
endif

all: $(OBJS)
$(CC) $(LDFLAGS) -shared -Wl,-soname,$(TARGET).so.1 -o ./$(TARGET).so.1.0.0 $(OBJS)
$(CC) $(LDFLAGS) $(CFLAGS) -o ./$(CUDUMP) $(CUDUMP).c gdev_cuda.c
all: $(TARGET) $(CUDUMP)

$(TARGET): $(OBJS)
$(CC) $(LDFLAGS) $(RUNTIME_LDFLAGS) -shared -Wl,-soname,$(TARGET).so.1 \
-o ./$(TARGET).so.1.0.0 $(OBJS)

$(CUDUMP): $(CUDUMP_OBJS)
$(CC) $(LDFLAGS) -o ./$(CUDUMP) $(CUDUMP_OBJS)

%.o:%.c
$(CC) -fPIC -c $^ -o $@ $(CFLAGS)
Expand All @@ -34,7 +102,7 @@ all: $(OBJS)
$(OCELOT_OBJS):
$(MAKE) ocelot.runtime

$(HYDRAZ_OBJS):
$(HYDRAZINE_OBJS):
$(MAKE) hydrazine.runtime

install:
Expand Down
7 changes: 4 additions & 3 deletions cuda/runtime/Makefile
Expand Up @@ -3,10 +3,10 @@
CC = gcc
CXX = g++
TARGET = ocelot hydrazine
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

ZOMBIE = $(wildcard ./*~)
ZOMBIE = $(wildcard ./*~)

%.build:
$(MAKE) -C $(basename $@)
Expand All @@ -17,6 +17,7 @@ ZOMBIE = $(wildcard ./*~)
%.all:
@for subdir in $(TARGET); do \
$(MAKE) $$subdir.$(basename $@); \
if [ $$? -ne 0 ] ; then exit 1; fi; \
done

all: build.all
Expand Down
11 changes: 6 additions & 5 deletions cuda/runtime/hydrazine/Makefile
Expand Up @@ -3,12 +3,13 @@
CC = gcc
CXX = g++
TARGET = hydrazine
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ..
CXXFLAGS = -std=c++0x

OBJS = ELFFile.o Exception.o LowLevelTimer.o SystemCompatibility.o
OBJS += Thread.o Timer.o Version.o compression.o debug.o string.o
ZOMBIE = $(wildcard ./*~)
OBJS = ELFFile.o Exception.o LowLevelTimer.o SystemCompatibility.o
OBJS += Thread.o Timer.o Version.o compression.o debug.o string.o

ZOMBIE = $(wildcard ./*~)

all: $(TARGET)

Expand Down
7 changes: 4 additions & 3 deletions cuda/runtime/ocelot/Makefile
Expand Up @@ -3,10 +3,10 @@
CC = gcc
CXX = g++
TARGET = analysis api cuda executive ir parser transforms
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

ZOMBIE = $(wildcard ./*~)
ZOMBIE = $(wildcard ./*~)

%.build:
$(MAKE) -C $(basename $@)
Expand All @@ -17,6 +17,7 @@ ZOMBIE = $(wildcard ./*~)
%.all:
@for subdir in $(TARGET); do \
$(MAKE) $$subdir.$(basename $@); \
if [ $$? -ne 0 ] ; then exit 1; fi; \
done

all: build.all
Expand Down
23 changes: 12 additions & 11 deletions cuda/runtime/ocelot/analysis/Makefile
Expand Up @@ -2,17 +2,18 @@

CC = gcc
CXX = g++
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = AffineAnalysis.o Analysis.o BranchInfo.o ControlTree.o
OBJS += ConvergentRegionAnalysis.o DataflowGraph.o DirectionalGraph.o
OBJS += DivergenceAnalysis.o DivergenceGraph.o DominatorTree.o
OBJS += LoopAnalysis.o PostdominatorTree.o PredicateAnalysis.o
OBJS += ProgramStructureGraph.o SSAGraph.o SimpleAliasAnalysis.o
OBJS += SparseAnalysis.o StructuralAnalysis.o SuperblockAnalysis.o
OBJS += ThreadFrontierAnalysis.o
ZOMBIE = $(wildcard ./*~)
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = AffineAnalysis.o Analysis.o BranchInfo.o ControlTree.o
OBJS += ConvergentRegionAnalysis.o DataflowGraph.o DirectionalGraph.o
OBJS += DivergenceAnalysis.o DivergenceGraph.o DominatorTree.o
OBJS += LoopAnalysis.o PostdominatorTree.o PredicateAnalysis.o
OBJS += ProgramStructureGraph.o SSAGraph.o SimpleAliasAnalysis.o
OBJS += SparseAnalysis.o StructuralAnalysis.o SuperblockAnalysis.o
OBJS += ThreadFrontierAnalysis.o

ZOMBIE = $(wildcard ./*~)

all: $(OBJS)

Expand Down
9 changes: 5 additions & 4 deletions cuda/runtime/ocelot/api/Makefile
Expand Up @@ -2,11 +2,12 @@

CC = gcc
CXX = g++
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = ocelot.o
ZOMBIE = $(wildcard ./*~)
OBJS = ocelot.o

ZOMBIE = $(wildcard ./*~)

all: $(OBJS)

Expand Down
13 changes: 7 additions & 6 deletions cuda/runtime/ocelot/cuda/Makefile
Expand Up @@ -2,13 +2,14 @@

CC = gcc
CXX = g++
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = CudaDriver.o CudaDriverFrontend.o
OBJS += CudaDriverInterface.o CudaRuntime.o CudaRuntimeInterface.o
OBJS += CudaWorkerThread.o FatBinaryContext.o cuda_runtime.o
ZOMBIE = $(wildcard ./*~)
OBJS = CudaDriver.o CudaDriverFrontend.o
OBJS += CudaDriverInterface.o CudaRuntime.o CudaRuntimeInterface.o
OBJS += CudaWorkerThread.o FatBinaryContext.o cuda_runtime.o

ZOMBIE = $(wildcard ./*~)

all: $(OBJS)

Expand Down
13 changes: 6 additions & 7 deletions cuda/runtime/ocelot/executive/Makefile
Expand Up @@ -2,15 +2,14 @@

CC = gcc
CXX = g++
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = Device.o FrameInfo.o ExecutableKernel.o
OBJS += NVIDIAExecutableKernel.o NVIDIAGPUDevice.o
OBJS += RuntimeException.o
OBJS = Device.o FrameInfo.o ExecutableKernel.o
OBJS += NVIDIAExecutableKernel.o NVIDIAGPUDevice.o
OBJS += RuntimeException.o


ZOMBIE = $(wildcard ./*~)
ZOMBIE = $(wildcard ./*~)

all: $(OBJS)

Expand Down
13 changes: 7 additions & 6 deletions cuda/runtime/ocelot/ir/Makefile
Expand Up @@ -2,14 +2,14 @@

CC = gcc
CXX = g++
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = ControlFlowGraph.o Dim3.o Global.o IRKernel.o Instruction.o
OBJS += Kernel.o Local.o Module.o PTXInstruction.o PTXKernel.o
OBJS += PTXOperand.o PTXStatement.o Parameter.o Texture.o
OBJS = ControlFlowGraph.o Dim3.o Global.o IRKernel.o Instruction.o
OBJS += Kernel.o Local.o Module.o PTXInstruction.o PTXKernel.o
OBJS += PTXOperand.o PTXStatement.o Parameter.o Texture.o

ZOMBIE = $(wildcard ./*~)
ZOMBIE = $(wildcard ./*~)

all: $(OBJS)

Expand All @@ -23,6 +23,7 @@ implementation/Module.cpp: ../../ptxgrammar.hpp

../../ptxgrammar.hpp:
$(MAKE) -C ../parser/ $@

clean:
rm -f $(OBJS) $(ZOMBIE)

10 changes: 6 additions & 4 deletions cuda/runtime/ocelot/parser/Makefile
Expand Up @@ -4,17 +4,19 @@ CC = gcc
CXX = g++
YACC = bison
LEX = flex
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = PTXLexer.o PTXParser.o ptx.o ptxgrammar.o
ZOMBIE = $(wildcard ./*~)
OBJS = PTXLexer.o PTXParser.o ptx.o ptxgrammar.o

ZOMBIE = $(wildcard ./*~)

all: $(OBJS)

implementation/%.cpp:implementation/%.yy
(TEMPFILE=`mktemp`; \
$(YACC) -o $@ --defines=$$TEMPFILE $^; \
if [ $$? -ne 0 ] ; then unlink $$TEMPFILE; exit 1; fi; \
cat $$TEMPFILE | sed 's/^#ifdef YYPARSE_PARAM$$/#if 0\n\0/g' | sed 's/^#endif \/\* ! YYPARSE_PARAM \*\/$$/\0\n#endif/g' > ../../$(basename $(notdir $@)).hpp; \
unlink $$TEMPFILE)

Expand Down
42 changes: 22 additions & 20 deletions cuda/runtime/ocelot/transforms/Makefile
Expand Up @@ -2,26 +2,28 @@

CC = gcc
CXX = g++
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = AddLocationMetadata.o AffineLinearScan.o AffineRegister.o
OBJS += AggressivePredication.o AssignFallThroughEdge.o
OBJS += CoalescedRegister.o ConstantPropagationPass.o
OBJS += ConvertPredicationToSelectPass.o DeadCodeEliminationPass.o
OBJS += DefaultLayoutPass.o DivergenceLinearScan.o DivergenceRegister.o
OBJS += EnforceLockStepExecutionPass.o FunctionInliningPass.o
OBJS += GlobalValueNumberingPass.o HoistParameterLoadsPass.o
OBJS += HoistSpecialValueDefinitionsPass.o IPDOMReconvergencePass.o
OBJS += KernelDrawerPass.o LinearScanRegisterAllocationPass.o
OBJS += LoopUnrollingPass.o MIMDThreadSchedulingPass.o MemoryArray.o
OBJS += ModuleLinkerPass.o MoveEliminationPass.o Pass.o PassFactory.o
OBJS += PassManager.o PriorityLayoutPass.o ReadableLayoutPass.o
OBJS += RemoveBarrierPass.o SharedPtrAttribute.o
OBJS += SimplifyControlFlowGraphPass.o
OBJS += SpillPolicy.o SplitBasicBlockPass.o StructuralTransform.o
OBJS += SubkernelFormationPass.o SyncEliminationPass.o
OBJS += ThreadFrontierReconvergencePass.o
CFLAGS = -O3 -Wall -I $(GDEVDIR)/include -I ../..
CXXFLAGS = -std=c++0x

OBJS = AddLocationMetadata.o AffineLinearScan.o AffineRegister.o
OBJS += AggressivePredication.o AssignFallThroughEdge.o
OBJS += CoalescedRegister.o ConstantPropagationPass.o
OBJS += ConvertPredicationToSelectPass.o DeadCodeEliminationPass.o
OBJS += DefaultLayoutPass.o DivergenceLinearScan.o
OBJS += DivergenceRegister.o EnforceLockStepExecutionPass.o
OBJS += FunctionInliningPass.o GlobalValueNumberingPass.o
OBJS += HoistParameterLoadsPass.o HoistSpecialValueDefinitionsPass.o
OBJS += IPDOMReconvergencePass.o KernelDrawerPass.o
OBJS += LinearScanRegisterAllocationPass.o LoopUnrollingPass.o
OBJS += MIMDThreadSchedulingPass.o MemoryArray.o
OBJS += ModuleLinkerPass.o MoveEliminationPass.o Pass.o PassFactory.o
OBJS += PassManager.o PriorityLayoutPass.o ReadableLayoutPass.o
OBJS += RemoveBarrierPass.o SharedPtrAttribute.o
OBJS += SimplifyControlFlowGraphPass.o SpillPolicy.o
OBJS += SplitBasicBlockPass.o StructuralTransform.o
OBJS += SubkernelFormationPass.o SyncEliminationPass.o
OBJS += ThreadFrontierReconvergencePass.o

ZOMBIE = $(wildcard ./*~)

all: $(OBJS)
Expand Down

0 comments on commit 5f9cbfd

Please sign in to comment.