* remove llvm build
* [Refactor] Update kernel compilation and profiling in examples
- Replaced `tilelang.lower` with `tilelang.compile` in multiple example scripts to streamline kernel compilation.
- Updated profiling calls to utilize the new `get_profiler` method, enhancing performance measurement consistency.
- Adjusted assertions and benchmarking methods to align with the new profiling structure across various examples, ensuring correctness and clarity in performance evaluations.
* lint fix
* License Update
* [Refactor] Improve code formatting and documentation in CUDA header and HIP runtime files
- Adjusted formatting in `cuda.h` for better readability, including alignment of comments and struct fields.
- Cleaned up whitespace and improved comment clarity in `rt_mod_hip.cc` to enhance code maintainability.
* [Refactor] Enhance formatting and clarity in CUDA header and HIP runtime files
- Improved comment alignment and readability in `cuda.h`.
- Cleaned up whitespace and formatting in `rt_mod_hip.cc` to enhance maintainability.
* lint fix
* lint fix
* lint fix
* lint fix
* fix
* License update
* [Enhancement] Update JITKernel to use artifact for kernel source
- Assigned the generated artifact to `self.artifact` for better management.
- Updated kernel source references to use `artifact.kernel_source` for consistency in execution backend handling.
* lint fix
* Add @tilelang.testing.requires_llvm decorator to vectorization tests
* Enhance setup.py and env.py for library management
- Added functionality to remove original files after copying in CMakeBuild.
- Updated TVM_LIBRARY_PATH in env.py to include the PyPI build library path for better integration.
* Refactor TVM_LIBRARY_PATH assignment for improved readability in env.py
* Refactor CMakeBuild file handling in setup.py
- Added a check to ensure the target library directory exists before copying .so files.
- Improved the logic for creating the target directory and copying files to enhance robustness.
* bugfix
* Rename BuildTLDebug to BuildTileLangCUDAWithoutCompile and update registration. Add @tilelang.testing.requires_llvm decorator to multiple tests for LLVM requirement.
* lint fix
* Enhance TileLang code generation by adding support for device code generation without compilation. Updated `host_codegen` and `device_codegen` functions to include new transformations and registration for `tilelang_hip_without_compile`. Refactored JIT kernel adapters to accommodate host and device modules, improving overall integration and flexibility.
* lint fix
* Add support for C target in device code generation
- Updated `device_codegen_without_compile` to include handling for the C target by registering the `tilelang_cpp` function.
* [Enhancement] Implement auto-clear cache feature based on environment variable
* Added TILELANG_CLEAR_CACHE environment variable to control cache clearing.
* Updated CI workflow to set TILELANG_CLEAR_CACHE during testing.
* Modified cache initialization to clear cache if TILELANG_CLEAR_CACHE is set to true.
* [Refactor] Update kernel invocation and import paths in tests and cache
* Changed kernel invocation in `test_tilelang_kernel_dequantize_gemm.py` to return the result.
* Updated import statements in `test_tilelang_kernel_int4_gemm_mma.py` to use `bitblas` instead of `tilelang`.
* Refactored paths for artifact and parameters in `kernel_cache.py` for better maintainability.
* [Refactor] Clean up whitespace and improve code formatting in kernel_cache.py
* Removed unnecessary blank lines and adjusted spacing for better readability in the KernelCache class.
* Enhanced overall code formatting to align with project standards.
* [Enhancement] Add bfloat16 test case and improve kernel caching logic
* Introduced a new test case for bfloat16 matrix multiplication in `test_tilelang_kernel_gemm_mma_intrinsic.py`.
* Updated `KernelCache` to handle multiple kernel source files and improve error handling during saving and loading.
* Refactored `JITKernel` to support instantiation from a database, enhancing flexibility in kernel management.
* Adjusted `CtypesKernelAdapter` and `CythonKernelAdapter` to utilize the new kernel loading mechanism from the database.
* Improved code formatting and readability across several files.
* lint fix
* Update bfloat16 matrix multiplication test case to use larger dimensions for improved coverage
- Update news and MLA performance benchmark in README.md
- Move performance benchmark and layout images to a dedicated 'figures' directory
- Improve code formatting and image references in documentation
* Change default log level from WARNING to INFO in TileLang initialization
* Refactor Flash Attention Variable-Length MHA Example with Cython Backend Support
- Update `example_mha_fwd_varlen.py` to use Cython backend for kernel compilation
- Remove unused imports and simplify function signature
- Modify `flashattn` function to handle max sequence length as a separate argument
- Update kernel call to include max sequence length parameter
- Improve code readability and remove commented-out code
- Add print statement to confirm successful assertion
* Refactor code formatting in TileLang lowering and example files
- Improve line breaks and code formatting in `lower.py`, `wrapper.py`, and `tensor.py`
- Simplify line breaks and reduce unnecessary whitespace
- Enhance code readability by adjusting indentation and line breaks
- Update example MHA forward pass script with cleaner tensor initialization
* Update TileLang kernel test with import path changes for MMA layout and macro generator
- Modify import statements in test_tilelang_kernel_dequantize_gemm.py
- Replace bitblas imports with tilelang.intrinsics imports for MMA-related utilities
- Update main function to use tilelang.testing.main()
* Add Block Sparse Attention Examples for TileLang and Triton
- Implement block sparse attention kernels for both TileLang and Triton
- Add utility functions for generating sparse attention masks using top-k and threshold methods
- Support causal and variable-length attention scenarios
- Include test cases for different sequence length configurations
- Demonstrate block-level sparse attention with configurable parameters
* Refactor Block Sparse Attention Examples with Code Style Improvements
- Improve code formatting in block_sparse_attn_tilelang.py and block_sparse_attn_triton.py
- Enhance readability by adjusting line breaks and indentation
- Simplify kernel and function calls with better formatting
- Add whitespace and line break improvements for better code clarity
* Enhance Layout Plotting with Multi-Replication and Dynamic Visualization
- Update plot_layout function to support multiple replications in thread and value mapping
- Improve thread and value mapping to handle replicated layouts
- Dynamically adjust figure size and legend positioning
- Add print statements for saved plot file paths
- Modify example fragment_mma_load_a.py to uncomment and enable warp and block layout plotting
* [Enhancement] Add VectorizeLoop function and update imports for compatibility
* [CI][Test] Improve test cases for vectorization and fix typos in parser comments
* lint fix
* Fix incorrect module reference for VectorizeLoop transformation
* Refactor vectorize_loop transformation by removing unused extent mutation logic
* [Enhancement] Add support for FP8 data types and global barriers in CUDA codegen
* Fix formatting in CUDA FP8 header file for consistency
* Refactor CI workflow to use 'tilelang_ci' virtual environment and update CUDA type printing for better clarity
* Update submodule 'tvm' to latest commit for improved functionality
* Refactor execution backend references from 'dl_pack' to 'dlpack' for consistency and clarity; add apply_simplify function to simplify PrimFunc or IRModule.
* Refactor CUDA code for improved readability; clean up formatting and remove unnecessary whitespace in multiple files.
* Refactor import statement in test_tilelang_kernel_dequantize_gemm.py to use 'tilelang.language' for consistency
* Add CUDA requirements to FP8 test cases and update references for clarity
* Add a blank line for improved readability in test_tilelang_kernel_fp8_gemm_mma.py
* Fix data type in reference result calculation for consistency in test_tilelang_kernel_gemm_mma_intrinsic.py
* Add CUDA requirements and FP8 test cases for matmul and gemv simulations
* Remove debug print statements and use tilelang's testing assertion for result validation in test_tilelang_kernel_gemm_mma_intrinsic.py
* Remove outdated comment regarding FP8 tests in test_tilelang_kernel_gemv_simt.py
* Add BF16 support to matrix multiplication and introduce corresponding test cases
* Add a blank line for improved readability in BF16 GEMM test
* Update acknowledgements in README to include supervision by Zhi Yang at Peking University
* enhance acknowledgement
* Replace tutorial on memory layout optimization with new tutorial on writing high-performance kernels with thread primitives
* Update subproject commit for TVM dependency
* Update subproject commit for TVM dependency
* Add int4_t type and functions for packing char values in CUDA common header
* Add plot_layout example and implement GetForwardVars method in layout classes
* Refactor code for improved readability by adjusting line breaks and formatting in layout and test files
* Fix formatting by removing unnecessary line break in layout.h
* Refactor make_int4 function for improved readability by adjusting parameter formatting