missing fixed allocator files
diff --git a/aten/src/ATen/CPUFixedAllocator.h b/aten/src/ATen/CPUFixedAllocator.h
new file mode 100644
index 0000000..43baec6
--- /dev/null
+++ b/aten/src/ATen/CPUFixedAllocator.h
@@ -0,0 +1,30 @@
+#pragma once
+
+#include "TH/TH.h"
+
+// This file creates a fake allocator that just throws exceptions if
+// it is actually used.
+
+// state passed to the allocator is the std::function<void(void*)> called
+// when the blob is release by ATen
+
+namespace at {
+
+static cpu_fixed_malloc(void *, ptrdiff_t) {
+  runtime_error("attempting to resize a tensor view of an external blob");
+}
+
+static cpu_fixed_realloc(void *, void*, ptrdiff_t) {
+  runtime_error("attempting to resize a tensor view of an external blob");
+}
+
+static cpu_fixed_free(void * state, void * allocation) {
+    auto on_release = static_cast<std::function<void(void*)>*>(state);
+    (*on_release)(allocation);
+    delete on_release;
+}
+
+static THAllocator CPU_fixed_allocator =
+  { cpu_fixed_malloc, cpu_fixed_realloc, cpu_fixed_free };
+
+}
diff --git a/aten/src/ATen/CUDAFixedAllocator.h b/aten/src/ATen/CUDAFixedAllocator.h
new file mode 100644
index 0000000..cb80adf
--- /dev/null
+++ b/aten/src/ATen/CUDAFixedAllocator.h
@@ -0,0 +1,42 @@
+#pragma once
+
+#include "THC/THC.h"
+
+// This file creates a fake allocator that just throws exceptions if
+// it is actually used.
+
+// state passed to the allocator is the std::function<void(void*)> called
+// when the blob is release by ATen
+
+namespace at {
+
+static cuda_fixed_malloc(void *, void**, size_t, cudaStream_t) {
+  runtime_error("attempting to resize a tensor view of an external blob");
+}
+
+static cpu_fixed_realloc(void*, void**, size_t, size_t, cudaStream_t) {
+  runtime_error("attempting to resize a tensor view of an external blob");
+}
+
+static cuda_fixed_free(void * state, void * allocation) {
+    auto on_release = static_cast<std::function<void(void*)>*>(state);
+    (*on_release)(allocation);
+    delete on_release;
+}
+
+static cuda_fixed_emptyCache(void*) {
+  runtime_error("?? attempting to resize a tensor view of an external blob");
+}
+
+static cuda_fixed_cacheInfo(void*, int, size_t*, size_t*) {
+  runtime_error("?? attempting to resize a tensor view of an external blob");
+}
+
+
+static THCDeviceAllocator CUDA_fixed_allocator = {
+  cuda_fixed_malloc, cuda_fixed_realloc, cuda_fixed_free, cuda_fixed_emptyCache,
+  cuda_fixed_cacheInfo
+};
+
+
+}