Skip to content
This repository was archived by the owner on Apr 28, 2023. It is now read-only.

use templated isl types #604

Open
wants to merge 85 commits into
base: master
Choose a base branch
from
Open
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
85 commits
Select commit Hold shift + click to select a range
d46befd
build generate_isl_cpp_h unconditionally
Aug 1, 2018
a1ff11a
generate templated isl types
Jul 19, 2018
3336fcb
inline extractDomainToIds
Jul 18, 2018
621f766
inline isSingleReductionWithin
Jul 25, 2018
78ffa1d
inline ScheduleTreeBand::memberRange
Jul 25, 2018
7de5f5b
inline partialScheduleMupa
Aug 1, 2018
61adb7a
inline prefixScheduleMupa
Aug 1, 2018
bff8378
inline infixScheduleMupa
Aug 1, 2018
f188f2c
inline prefixSchedule and partialSchedule
Aug 1, 2018
012737e
inline extendSchedule
Aug 2, 2018
fecceb2
halide2isl.cc: extractAccess: explicitly cast space to isl::Space<>
Jun 21, 2018
6790831
memory_promotion.cc: tensorElementsSet: explicitly cast space to isl:…
Jun 21, 2018
fc8fb13
constructTensorTuple: use templated isl types
Jun 21, 2018
0cb8fb2
Scop::makeContext: explicitly cast space to isl::Space<>
Jun 21, 2018
e4d6e0c
makeSpecializationSet: use templated isl types
Jun 21, 2018
d842f11
Scop::makeContext: use templated isl types
Jun 21, 2018
fec4a87
Scop::context(): use templated isl types
Jun 21, 2018
8e32a03
codegen_llvm.cc: getTensorSize: use templated isl types
Jun 21, 2018
d1b2729
memory_promotion.cc: tensorElementsSet: temporarily remove type deduc…
Jul 25, 2018
3931595
Scop::makeIslAffFromStmtExpr: temporarily remove type deduction
Jul 25, 2018
aaa920b
core halide2isl: use templated isl types
Jun 21, 2018
c67f613
halide2isl.cc: extractReduction: use templated isl types
Jun 21, 2018
d773ced
Scop::context: remove explicit cast
Jun 21, 2018
30c2430
Scop::domain(): use templated isl types
Jun 21, 2018
31f3729
memory_promotion.cc: tensorElementsSet: remove explicit cast
Jun 21, 2018
82d1ecd
Scop::makeContext: remove explicit cast
Jun 21, 2018
8d70dff
makeParameterContext: use templated isl types
Jun 21, 2018
891aa87
partialScheduleMupa: use templated isl types
Jun 21, 2018
b59fac1
prefixScheduleMupa: use templated isl types
Jun 21, 2018
857fffc
memberRange: use templated isl types
Jun 21, 2018
47ec448
reductionUpdates: use templated isl types
Jun 21, 2018
2b65428
isSingleReductionWithin: use templated isl types
Jun 21, 2018
35782ae
Body: use templated isl types
Jun 21, 2018
ff79e43
reductionMapSchedule: use templated isl types
Jun 21, 2018
67cf929
separatedOut: use templated isl types
Jun 21, 2018
fab14bb
constructThreadToWarp: use templated isl types
Jun 21, 2018
6d832c3
prefixSchedule: use templated isl types
Jun 21, 2018
867a1f3
labelExtension: use templated isl types
Jun 21, 2018
cf3c49c
labelFilterFromExtension: use templated isl types
Jun 21, 2018
9f96ce2
findCorePositions: use templated isl types
Jun 21, 2018
bc4fb5a
partialSchedule: use templated isl types
Jun 21, 2018
49bd2e1
ScheduleTree::makeMappingUnsafe: explicitly cast mapping
Aug 1, 2018
56d21fb
ScheduleTreeMapping::Mapping: use templated isl types
Jun 21, 2018
323117c
extractDomainToIds: use templated isl types
Jun 21, 2018
97290f8
MappedScop::threadMappingSchedule: use templated isl types
Jun 21, 2018
e46da35
MappedScop::blockMappingSchedule: use templated isl types
Jun 21, 2018
5efdcde
Scop::makeIslAffFromStmtExpr: use templated isl types
Jun 21, 2018
30d7568
activeDomainPoints: cast result to templated isl type
Jun 21, 2018
2280cf4
activeDomainPointsBelow: cast result to templated isl type
Jun 21, 2018
9f8a96a
MappedScop::findBestSync: temporarily remove type deduction
Jun 21, 2018
8e64b26
Scop::dependences: use templated isl types
Jun 21, 2018
bfdf31d
partialTargetTiles: use templated isl types
Jun 21, 2018
a396fcd
canOrder*: use templated isl types
Jun 21, 2018
43b8338
order*: use templated isl types
Jun 21, 2018
04299ef
collectMappingsTo: cast result to templated isl type
Jul 27, 2018
7342146
accessedWithin: use templated isl types
Jul 27, 2018
4cba450
addSingletonReferenceGroups: use templated isl types
Jul 30, 2018
8e7cce0
addSingletonReferenceGroup: use templated isl types
Jul 30, 2018
18d5d02
makeSingleton: use templated isl types
Jul 30, 2018
6fb5fc9
TensorReference: use templated isl types
Jul 30, 2018
ed3a6f3
tensorElementsSet: use templated isl types
Jun 21, 2018
ab58bb9
promotedFootprint: use templated isl types
Jul 30, 2018
d020eda
TensorReferenceGroup::promotion: temporarily remove type deduction
Jul 30, 2018
56e6fcb
outputRanges: use templated isl types
Jul 30, 2018
70634b1
removeRangeStrides: use templated isl types
Jul 30, 2018
11b8b63
ScopedFootprint.box: use templated isl types
Jul 30, 2018
77ef497
TensorReferenceGroup::promotion: use templated isl types
Jul 31, 2018
52b0b73
use templated isl types in schedule tree
Jun 21, 2018
acdf75a
MappedScop::map: use templated isl types
Aug 1, 2018
71a64d4
makeMapping: use templated isl types
Aug 1, 2018
4166522
infixScheduleMupa: use templated isl types
Jul 31, 2018
eddcc7a
MappedScop::findBestSync: use templated isl types
Jun 21, 2018
cff2073
Scop::domainRef: use templated isl types
Jun 21, 2018
dd5e513
promoteToRegistersBelow: use templated isl types
Jun 21, 2018
c1a5b05
partialScheduleMupa: use templated isl types
Jun 21, 2018
b614ec0
activeDomainPointsHelper: use templated isl types
Jun 21, 2018
b5e79f8
accessSubscriptsAreUnrolledLoops: temporarily remove type deduction
Jun 21, 2018
40977a6
TensorReferenceGroup::originalAccesses use templated isl types
Jun 21, 2018
0ee8d4b
makeNextElementMap: use templated isl types
Jul 27, 2018
006db55
hasReuseWithin: use templated isl types
Jul 27, 2018
74b0b8f
isPromotableToRegistersBelow: use templated isl types
Jun 21, 2018
821426f
accessSubscriptsAreUnrolledLoops: use templated isl types
Jun 21, 2018
595eb21
collectMappingsTo: use templated isl types
Jul 27, 2018
1f2cbf7
TensorReferenceGroup::approximateScopedAccesses: use templated isl types
Aug 3, 2018
29581f1
insertCopiesUnder: use templated isl types
Aug 2, 2018
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
29 changes: 29 additions & 0 deletions CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -225,6 +225,7 @@ message(STATUS "Found ATen.so file: ${ATEN_LIBRARIES}")
################################################################################
# use locally generated C++ bindings
include_directories(AFTER ${PROJECT_SOURCE_DIR}/isl_interface/include)
include_directories(AFTER ${CMAKE_CURRENT_BINARY_DIR}/isl_interface/include)
include_directories(AFTER ${PROJECT_SOURCE_DIR}/third-party/islpp/include)
include_directories(AFTER ${CMAKE_CURRENT_BINARY_DIR}/third-party/islpp/include)
add_subdirectory(external/isl)
Expand Down Expand Up @@ -334,6 +335,34 @@ else()
message(STATUS "Not building benchmarks, caffe2 or CUDA not available")
endif()

SET(ISL_CPP_H "${CMAKE_CURRENT_LIST_DIR}/isl_interface/include/isl/cpp.h")

add_executable(generate_template_isl isl_interface/generate_template_isl.cc)

find_program(CLANG_FORMAT_BIN clang-format PATHS ${CLANG_PREFIX}
PATH_SUFFIXES bin
NO_DEFAULT_PATH)

SET(ISL_TEMPLATE_CPP_DIR
"${CMAKE_CURRENT_BINARY_DIR}/isl_interface/include/isl")
SET(ISL_TEMPLATE_CPP_H "${ISL_TEMPLATE_CPP_DIR}/template_cpp.h")
add_custom_command(
OUTPUT ${ISL_TEMPLATE_CPP_H}
DEPENDS ${ISL_CPP_H}
DEPENDS generate_template_isl
COMMAND mkdir -p ${ISL_TEMPLATE_CPP_DIR}
COMMAND generate_template_isl < ${ISL_CPP_H} > ${ISL_TEMPLATE_CPP_H}
COMMAND ${CLANG_FORMAT_BIN} -i ${ISL_TEMPLATE_CPP_H}
)

if (WITH_BINDINGS)
add_subdirectory(isl_interface)

# generate_isl_cpp_h is the dependency that should be used
# by code that depends on the isl C++ bindings.
add_custom_target(generate_isl_cpp_h
DEPENDS generate_isl_cpp_h_core ${ISL_TEMPLATE_CPP_H})
else()
add_custom_target(generate_isl_cpp_h
DEPENDS ${ISL_TEMPLATE_CPP_H})
endif()
6 changes: 2 additions & 4 deletions isl_interface/CMakeLists.txt
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,6 @@ target_link_libraries(extract_isl_interface
# Dummy library to ensure that C++ bindings depend on contents of header files.
add_library(isl_all_h_dep STATIC ${ISL_DIR}/all.c)

SET(ISL_CPP_H "${CMAKE_CURRENT_LIST_DIR}/include/isl/cpp.h")
add_custom_command(
OUTPUT ${ISL_CPP_H}
DEPENDS isl_all_h_dep
Expand All @@ -107,6 +106,5 @@ add_custom_command(
COMMAND cat ${ISL_DIR}/cpp/cpp.h.bot >> ${ISL_CPP_H} || exit 1
DEPENDS extract_isl_interface
)
# generate_isl_cpp_h is the dependency that should be used
# by code that depends on the isl C++ bindings.
add_custom_target(generate_isl_cpp_h DEPENDS ${ISL_CPP_H})

add_custom_target(generate_isl_cpp_h_core DEPENDS ${ISL_CPP_H})
Loading