pytorch/test/cpp/jit
Shivam Raikundalia 99c9a31386 [submodule] [Snapshot/Profiler] Memory Snapshot On Demand (#150559)
Summary:
Profiler side of memory snapshot.

1. Add API to actually do snapshot when client interface is called
2. Add ifdefs to builds so that kineto hooks snapshot correctly.

Design Philosophy: There is one interesting part of this implementation and it is during export. For export we are callign the python impl of the export rather than CPP even though we are already in CPP. This is because it is better to simply have one path of export rather than 2. Personally, I want there to be parity between auto-trace and on-demand so it if we can limit the side paths then we will have an easier time maintaining this relationship

Test Plan: {F1976563426}

Reviewed By: sanrise

Differential Revision: D70733247

Pull Request resolved: https://github.com/pytorch/pytorch/pull/150559
Approved by: https://github.com/sanrise
2025-04-07 13:04:38 +00:00
..
upgrader_models
__init__.py
CMakeLists.txt [submodule] [Snapshot/Profiler] Memory Snapshot On Demand (#150559) 2025-04-07 13:04:38 +00:00
README.md
script_module_v4.ptl
script_module_v5.ptl
script_module_v6.ptl
source_range_test.cpp c10::string_view -> std::string_view in caffe2/jit (#142383) 2024-12-10 15:42:28 +00:00
test_add_if_then_else.cpp
test_alias_analysis.cpp Remove deprecated alias macro(1/3) (#137556) 2024-10-21 17:32:32 +00:00
test_argument_spec.cpp
test_autodiff.cpp [structural binding][11/N] Replace std::tie with structural binding (#130830) 2024-07-18 00:45:06 +00:00
test_backend_compiler_lib.cpp
test_backend_compiler_preprocess.cpp
test_backend_lib.cpp
test_backend.cpp
test_class_import.cpp c10::string_view -> std::string_view in caffe2/jit (#142383) 2024-12-10 15:42:28 +00:00
test_class_parser.cpp c10::string_view -> std::string_view in caffe2/jit (#142383) 2024-12-10 15:42:28 +00:00
test_class_type.cpp
test_cleanup_passes.cpp
test_code_template.cpp
test_concat_opt.cpp
test_constant_pooling.cpp
test_create_autodiff_subgraphs.cpp
test_cs_debug_info_serialization.cpp
test_custom_class_registrations.cpp Fakify torchbind objects in compile_fx and add tests for SigridTransformsInstanceTorchBind (#149529) 2025-03-21 18:58:28 +00:00
test_custom_class_registrations.h
test_custom_class.cpp Revert "Fix clang-tidy warnings in Caffe2 code (#134935)" 2024-09-13 16:42:37 +00:00
test_custom_operators.cpp
test_dce.cpp
test_exception.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_file_format.cpp
test_flatbuffer.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_fuser.cpp
test_graph_executor.cpp [structural binding][10/N] Replace std::tie with structural binding (#130784) 2024-07-16 10:28:14 +00:00
test_graph_iterator.cpp
test_inliner.cpp
test_interface.cpp c10::string_view -> std::string_view in caffe2/jit (#142383) 2024-12-10 15:42:28 +00:00
test_interpreter_async.pt
test_interpreter.cpp
test_ir.cpp
test_irparser.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_jit_logging_levels.cpp
test_jit_type.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_lite_interpreter_direct.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_lite_interpreter.cpp Add None return type to init -- tests (#132352) 2024-08-01 15:44:51 +00:00
test_lite_trainer.cpp torch::optional -> std::optional (#138987) 2024-10-28 19:09:46 +00:00
test_load_upgraders.cpp
test_memory_dag.cpp
test_misc.cpp Revert "Fix poision child process issue when call getAccelerator() (#144368)" 2025-01-10 23:36:43 +00:00
test_mobile_type_parser.cpp
test_module_api.cpp c10::string_view -> std::string_view in caffe2/jit (#142383) 2024-12-10 15:42:28 +00:00
test_op_replacement.cpp
test_peephole_optimize.cpp
test_qualified_name.cpp
test_save_load.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_schema_info.cpp
test_schema_matching.cpp
test_script_profile.cpp
test_shape_analysis.cpp [9/N] Replace c10::optional with std::optional (#130674) 2024-07-15 00:48:43 +00:00
test_stack_opt.cpp
test_subgraph_matcher.cpp
test_subgraph_rewriter.cpp
test_subgraph_utils.cpp
test_union.cpp
test_upgrader_utils.cpp
test_utils.cpp
test_utils.h
tests_setup.py [BE][Easy] enable ruff rule PIE790: unnecessary pass statement (#133200) 2024-08-15 15:50:19 +00:00
torch_python_test.cpp

JIT C++ Tests

Adding a new test

First, create a new test file. Test files should have be placed in this directory, with a name that starts with test_, like test_foo.cpp.

In general a single test suite

Add your test file to the JIT_TEST_SRCS list in test/cpp/jit/CMakeLists.txt.

A test file may look like:

#include <gtest/gtest.h>

using namespace ::torch::jit

TEST(FooTest, BarBaz) {
   // ...
}

// Append '_CUDA' to the test case name will automatically filter it out if CUDA
// is not compiled.
TEST(FooTest, NeedsAGpu_CUDA) {
   // ...
}

// Similarly, if only one GPU is detected, tests with `_MultiCUDA` at the end
// will not be run.
TEST(FooTest, NeedsMultipleGpus_MultiCUDA) {
   // ...
}

Building and running the tests

The following commands assume you are in PyTorch root.

# ... Build PyTorch from source, e.g.
python setup.py develop
# (re)build just the binary
ninja -C build bin/test_jit
# run tests
build/bin/test_jit --gtest_filter='glob_style_filter*'