Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
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
2 changes: 1 addition & 1 deletion .github/ISSUE_TEMPLATE/ci-problem.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,4 @@ Provide a link to the specific run that has failed.

### Flakiness

Have you seen this multiple times in this branch or in other branches?
Have you seen this multiple times in this branch or in other branches?
1 change: 0 additions & 1 deletion .github/ISSUE_TEMPLATE/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -19,4 +19,3 @@ Include the title of the document (e.g. "Getting Started with TVM"), and the typ
If an RFC/discuss post exists, link it here.

Otherwise, specify what actions should be taken to provide additional clarity/readability/reproducibility to the document. Include code snippets from the previous documentation if applicable.

50 changes: 41 additions & 9 deletions Jenkinsfile
Original file line number Diff line number Diff line change
Expand Up @@ -230,11 +230,15 @@ stage('Build') {
// sh "${docker_run} ${ci_cpu} ./tests/scripts/task_golang.sh"
// TODO(@jroesch): need to resolve CI issue will turn back on in follow up patch
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_rust.sh"
junit "build/pytest-results/*.xml"
}
}
}
},
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'BUILD: WASM': {
node('CPU') {
ws(per_exec_ws("tvm/build-wasm")) {
Expand Down Expand Up @@ -277,10 +281,14 @@ stage('Build') {
timeout(time: max_time, unit: 'MINUTES') {
sh "${docker_run} ${ci_qemu} ./tests/scripts/task_ci_setup.sh"
sh "${docker_run} ${ci_qemu} ./tests/scripts/task_python_microtvm.sh"
junit "build/pytest-results/*.xml"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
}
}

Expand All @@ -295,10 +303,14 @@ stage('Unit Test') {
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_sphinx_precheck.sh"
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_python_unittest_gpuonly.sh"
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_python_integration_gpuonly.sh"
junit "build/pytest-results/*.xml"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'python3: i386': {
node('CPU') {
Expand All @@ -310,10 +322,14 @@ stage('Unit Test') {
sh "${docker_run} ${ci_i386} ./tests/scripts/task_python_unittest.sh"
sh "${docker_run} ${ci_i386} ./tests/scripts/task_python_integration.sh"
sh "${docker_run} ${ci_i386} ./tests/scripts/task_python_vta_fsim.sh"
junit "build/pytest-results/*.xml"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'python3: arm': {
node('ARM') {
Expand All @@ -324,11 +340,15 @@ stage('Unit Test') {
sh "${docker_run} ${ci_arm} ./tests/scripts/task_ci_setup.sh"
sh "${docker_run} ${ci_arm} ./tests/scripts/task_python_unittest.sh"
sh "${docker_run} ${ci_arm} ./tests/scripts/task_python_arm_compute_library.sh"
junit "build/pytest-results/*.xml"
// sh "${docker_run} ${ci_arm} ./tests/scripts/task_python_integration.sh"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'java: GPU': {
node('GPU') {
Expand All @@ -353,10 +373,14 @@ stage('Integration Test') {
timeout(time: max_time, unit: 'MINUTES') {
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_ci_setup.sh"
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_python_topi.sh"
junit "build/pytest-results/*.xml"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'frontend: GPU': {
node('GPU') {
Expand All @@ -366,10 +390,14 @@ stage('Integration Test') {
timeout(time: max_time, unit: 'MINUTES') {
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_ci_setup.sh"
sh "${docker_run} ${ci_gpu} ./tests/scripts/task_python_frontend.sh"
junit "build/pytest-results/*.xml"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'frontend: CPU': {
node('CPU') {
Expand All @@ -379,10 +407,14 @@ stage('Integration Test') {
timeout(time: max_time, unit: 'MINUTES') {
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_ci_setup.sh"
sh "${docker_run} ${ci_cpu} ./tests/scripts/task_python_frontend_cpu.sh"
junit "build/pytest-results/*.xml"
}
}
}
post {
always {
junit "build/pytest-results/*.xml"
}
}
},
'docs: GPU': {
node('TensorCore') {
Expand Down
7 changes: 5 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -26,8 +26,11 @@
[![WinMacBuild](https://github.com/apache/tvm/workflows/WinMacBuild/badge.svg)](https://github.com/apache/tvm/actions?query=workflow%3AWinMacBuild)

Apache TVM is a compiler stack for deep learning systems. It is designed to close the gap between the
productivity-focused deep learning frameworks, and the performance- and efficiency-focused hardware backends.
TVM works with deep learning frameworks to provide end to end compilation to different backends.
ASDADA
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

there are a couple of random changes to .md files in here, can you revert?

productivity-focused
deep learning frameworks, and the performance- and efficiency-focused hardware backends.
TVM works with
deep learning frameworks to provide end to end compilation to different backends.

License
-------
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -16,7 +16,7 @@
# specific language governing permissions and limitations
# under the License.
#
# Using this script we can reuse docker/install scripts to configure the reference
# Using this script we can reuse docker/install scripts to configure the reference
# virtual machine similar to CI QEMU setup.
#

Expand Down
1 change: 0 additions & 1 deletion cmake/modules/Hexagon.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -105,4 +105,3 @@ endif()
file(GLOB RUNTIME_HEXAGON_SRCS src/runtime/hexagon/*.cc)
list(APPEND RUNTIME_SRCS ${RUNTIME_HEXAGON_SRCS} ${RUNTIME_HEXAGON_SIM_SRCS}
${RUNTIME_HEXAGON_DEVICE_SRCS})

1 change: 0 additions & 1 deletion cmake/modules/HexagonSDK.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -120,4 +120,3 @@ function(find_hexagon_sdk_root HEXAGON_SDK_PATH HEXAGON_ARCH)

set(FOUND_HEXAGON_SDK_ROOT TRUE)
endfunction()

2 changes: 1 addition & 1 deletion cmake/modules/contrib/EthosU.cmake
Original file line number Diff line number Diff line change
Expand Up @@ -18,4 +18,4 @@
if(USE_ETHOSU)
file(GLOB ETHOSU_RELAY_CONTRIB_SRC src/relay/backend/contrib/ethosu/*)
list(APPEND COMPILER_SRCS ${ETHOSU_RELAY_CONTRIB_SRC})
endif(USE_ETHOSU)
endif(USE_ETHOSU)
4 changes: 2 additions & 2 deletions docker/install/ubuntu_install_vitis_ai_packages_ci.sh
Original file line number Diff line number Diff line change
Expand Up @@ -6,9 +6,9 @@
# to you under the Apache License, Version 2.0 (the
# "License"); you may not use this file except in compliance
# with the License. You may obtain a copy of the License at
#
#
# http://www.apache.org/licenses/LICENSE-2.0
#
#
# Unless required by applicable law or agreed to in writing,
# software distributed under the License is distributed on an
# "AS IS" BASIS, WITHOUT WARRANTIES OR CONDITIONS OF ANY
Expand Down
2 changes: 1 addition & 1 deletion docs/langref/relay_pattern.rst
Original file line number Diff line number Diff line change
Expand Up @@ -89,7 +89,7 @@ Or a convolution with a specific kernel size:
x = relay.var('x')
y = relay.var('y')
assert is_conv2d.match(relay.op.nn.conv2d(x, y, kernel_size=[3, 3]))
Matching an Optional Op
Expand Down
Empty file added docs/t.txt
Empty file.
2 changes: 1 addition & 1 deletion tests/python/relay/aot/corstone300.mk
Original file line number Diff line number Diff line change
Expand Up @@ -115,4 +115,4 @@ run: $(build_dir)/aot_test_runner

.DEFAULT: aot_test_runner

.PHONY: run
.PHONY: run
1 change: 0 additions & 1 deletion tests/scripts/task_config_build_i386.sh
Original file line number Diff line number Diff line change
Expand Up @@ -35,4 +35,3 @@ echo set\(USE_VTA_FSIM ON\) >> config.cmake
echo set\(USE_VTA_TSIM ON\) >> config.cmake
echo set\(USE_VERILATOR ON\) >> config.cmake
echo set\(USE_CCACHE OFF\) >> config.cmake

2 changes: 1 addition & 1 deletion tutorials/auto_scheduler/tune_network_cuda.py
Original file line number Diff line number Diff line change
Expand Up @@ -23,7 +23,7 @@
best performance. This is a tutorial on how to tune a whole neural
network for NVIDIA GPU with the auto-scheduler.

To auto-tune a neural network, we partition the network into small subgraphs and
To auto-tune a neural network, we partition the network into small subgraphs and
tune them independently. Each subgraph is treated as one search task.
A task scheduler slices the time and dynamically allocates time resources to
these tasks. The task scheduler predicts the impact of each task on the end-to-end
Expand Down
2 changes: 1 addition & 1 deletion tutorials/auto_scheduler/tune_network_x86.py
Original file line number Diff line number Diff line change
Expand Up @@ -24,7 +24,7 @@
best performance. This is a tutorial on how to tune a whole neural
network for x86 CPU with the auto-scheduler.

To auto-tune a neural network, we partition the network into small subgraphs and
To auto-tune a neural network, we partition the network into small subgraphs and
tune them independently. Each subgraph is treated as one search task.
A task scheduler slices the time and dynamically allocates time resources to
these tasks. The task scheduler predicts the impact of each task on the end-to-end
Expand Down
6 changes: 3 additions & 3 deletions tutorials/frontend/deploy_sparse.py
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@

Pruning is a technique primarily used to reduce the parameter size of a model
by replacing weight values with 0s. Although many methods exist for choosing which
weights should be set to 0, the most straight forward is by picking the
weights should be set to 0, the most straight forward is by picking the
weights with the smallest value. Typically, weights are pruned to a desired
sparsity percentage. For example, a 95% sparse model would have only 5% of
its weights non-zero. Pruning to very high sparsities often requires
Expand All @@ -50,8 +50,8 @@
value and location. The benefit of bunching up pruned weights is that it allows
an algorithm such as matrix multiplication to skip entire blocks. It turns out
that some degree of *block sparsity* is very important to realizing significant
speedups on most hardware available today.
This is because when loading memory in most CPUs or GPUs,
speedups on most hardware available today.
This is because when loading memory in most CPUs or GPUs,
it doesn't save any work to skip reading a single value at a time, instead an entire
chunk or tile is read in and executed using something like vectorized instructions.

Expand Down