@@ -74,48 +74,10 @@ class SimuDevice : public IBufferedDevice {
7474 }
7575 Status S2DSync (int fd, void * address, const size_t length, const size_t fileOffset, const size_t devOffset) override
7676 {
77- CUfileHandle_t cuFileHandle = nullptr ;
78- auto status = HandlePool<int , CUfileHandle_t>::Instance ().Get (fd, cuFileHandle,
79- [fd](CUfileHandle_t& handle) -> Status {
80- return CreateCuFileHandle (fd, handle);
81- });
82- if (status.Failure ()) {
83- return status;
84- }
85- ssize_t bytesRead = cuFileRead (cuFileHandle, address, length, fileOffset, devOffset);
86- HandlePool<int , CUfileHandle_t>::Instance ().Put (fd, [](CUfileHandle_t h) {
87- if (h != nullptr ) {
88- cuFileHandleDeregister (h);
89- }
90- });
91-
92- if (bytesRead < 0 || (size_t )bytesRead != length) {
93- UC_ERROR (" cuFileRead failed for fd {}: expected {}, got {}" , fd, length, bytesRead);
94- return Status::Error ();
95- }
9677 return Status::OK ();
9778 }
9879 Status D2SSync (int fd, void * address, const size_t length, const size_t fileOffset, const size_t devOffset) override
9980 {
100- CUfileHandle_t cuFileHandle = nullptr ;
101- auto status = HandlePool<int , CUfileHandle_t>::Instance ().Get (fd, cuFileHandle,
102- [fd](CUfileHandle_t& handle) -> Status {
103- return CreateCuFileHandle (fd, handle);
104- });
105- if (status.Failure ()) {
106- return status;
107- }
108- ssize_t bytesWrite = cuFileWrite (cuFileHandle, address, length, fileOffset, devOffset);
109- HandlePool<int , CUfileHandle_t>::Instance ().Put (fd, [](CUfileHandle_t h) {
110- if (h != nullptr ) {
111- cuFileHandleDeregister (h);
112- }
113- });
114-
115- if (bytesWrite < 0 || (size_t )bytesWrite != length) {
116- UC_ERROR (" cuFileWrite failed for fd {}: expected {}, got {}" , fd, length, bytesWrite);
117- return Status::Error ();
118- }
11981 return Status::OK ();
12082 }
12183 Status AppendCallback (std::function<void (bool )> cb) override
0 commit comments