From 53865e142f264f71170812b07b198669c8b0e8b2 Mon Sep 17 00:00:00 2001 From: Kellen Sunderland Date: Fri, 24 Aug 2018 14:13:58 +0200 Subject: [PATCH] [MXNET-857] Add integration test. --- tests/python/profiling/simple_forward.py | 42 ++++++++++++++++++++++++ tests/python/profiling/test_nvtx.py | 36 ++++++++++++++++++++ 2 files changed, 78 insertions(+) create mode 100644 tests/python/profiling/simple_forward.py create mode 100644 tests/python/profiling/test_nvtx.py diff --git a/tests/python/profiling/simple_forward.py b/tests/python/profiling/simple_forward.py new file mode 100644 index 000000000000..0ad43c89a6f5 --- /dev/null +++ b/tests/python/profiling/simple_forward.py @@ -0,0 +1,42 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# 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 +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. + +import mxnet as mx +from mxnet.gluon import nn + + +def simple_forward(): + ctx = mx.gpu() + mx.profiler.set_config(profile_all=True) + mx.profiler.set_state('run') + + # define simple gluon network with random weights + net = nn.Sequential() + with net.name_scope(): + net.add(nn.Dense(128, activation='relu')) + net.add(nn.Dense(64, activation='relu')) + net.add(nn.Dense(10)) + net.initialize(mx.init.Xavier(magnitude=2.24), ctx=ctx) + + input = mx.nd.zeros((128,), ctx=ctx) + predictions = net(input) + print('Ran simple NN forward, results:') + print(predictions.asnumpy()) + + +if __name__ == '__main__': + simple_forward() diff --git a/tests/python/profiling/test_nvtx.py b/tests/python/profiling/test_nvtx.py new file mode 100644 index 000000000000..49f5c7eb33a0 --- /dev/null +++ b/tests/python/profiling/test_nvtx.py @@ -0,0 +1,36 @@ +# Licensed to the Apache Software Foundation (ASF) under one +# or more contributor license agreements. See the NOTICE file +# distributed with this work for additional information +# regarding copyright ownership. The ASF licenses this file +# 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 +# KIND, either express or implied. See the License for the +# specific language governing permissions and limitations +# under the License. +import os +import unittest + +import mxnet as mx +import sys + + +def test_nvtx_ranges_present_in_profile(): + + if not mx.test_utils.list_gpus(): + unittest.skip('Test only applicable to machines with GPUs') + + print(sys.executable) + + print(os.path.realpath(__file__)) + + +if __name__ == '__main__': + import nose + nose.runmodule()