@jphoward
Using image nvcr.io/nvidia/pytorch:18.01-py3 15 and running the imagenet example I get
less than 2x when using fp16 instead the expected 8x using tensor cores.
In the nvprof output (attached below) I do see though 884 calls.
Has anyone got the expected behavior on Titan V (I didn’t see any clear cut report on either Titan V or V100 that confirms that).
GPU utilization by nvidia-smi in all runs high and steady ~95%.
Running a slightly modified version (using FakeData instead of images, see below):

python main_fake.py -a resnet50 / --workers 10 --batch-size 64

I get avg timing ~Time 0.238 (0.255)
Running with --fp16 flag:

python main_fake.py -a resnet50 / --workers 10 --batch-size 64 --fp16

I get avg timing ~  Time 0.137 (0.397)
The difference w.r.t original imagenet/main.py:
69,73d68
< class TargetsToLong(object):
<     def __call__(self, x):
<         return int(x)
<
<
160,161c155,157
<     train_dataset = datasets.FakeData(size=100000, image_size=(3, 224, 224), num_classes=100,
<         transform=transforms.Compose([
---
>     train_dataset = datasets.ImageFolder(
>         traindir,
>         transforms.Compose([
166,176c162
<         ]),
<         target_transform=TargetsToLong())
<
<     val_dataset = datasets.FakeData(size=10000, image_size=(3, 224, 224), num_classes=100,
<         transform=transforms.Compose([
<             transforms.RandomResizedCrop(224),
<             transforms.RandomHorizontalFlip(),
<             transforms.ToTensor(),
<             normalize,
<         ]),
<         target_transform=TargetsToLong())
---
>         ]))
187,199c173,181
<     val_loader = torch.utils.data.DataLoader(val_dataset,
<             batch_size=args.batch_size, shuffle=False,
<             num_workers=args.workers, pin_memory=True)
<
<     #  val_loader = torch.utils.data.DataLoader(
<     #      datasets.ImageFolder(valdir, transforms.Compose([
<     #          transforms.Resize(256),
<     #          transforms.CenterCrop(224),
<     #          transforms.ToTensor(),
<     #          normalize,
<     #      ])),
<     #      batch_size=args.batch_size, shuffle=False,
<     #      num_workers=args.workers, pin_memory=True)
---
>     val_loader = torch.utils.data.DataLoader(
>         datasets.ImageFolder(valdir, transforms.Compose([
>             transforms.Resize(256),
>             transforms.CenterCrop(224),
>             transforms.ToTensor(),
>             normalize,
>         ])),
>         batch_size=args.batch_size, shuffle=False,
>         num_workers=args.workers, pin_memory=True)