source: experiments/DRMAA_tests/DRMAA_helloWorld/hello.c @ 16

Revision 16, 1.8 KB checked in by mmatloka, 14 years ago (diff)

add experiments

RevLine 
[16]1#include <stdio.h>
2#include <drmaa.h>
3
4int main(int argc, char **argv) {
5        char error[DRMAA_ERROR_STRING_BUFFER];
6        int errnum = 0;
7        drmaa_job_template_t *jt = NULL;
8
9        errnum = drmaa_init(NULL, error, DRMAA_ERROR_STRING_BUFFER);
10
11        if (errnum != DRMAA_ERRNO_SUCCESS) {
12                fprintf(stderr, "Could not initialize the DRMAA library: %s\n", error);
13                return 1;
14        }
15       
16        errnum = drmaa_allocate_job_template(&jt, error, DRMAA_ERROR_STRING_BUFFER);
17
18        if (errnum != DRMAA_ERRNO_SUCCESS) {
19                 fprintf(stderr, "Could not create job template: %s\n", error);
20        } else {
21                errnum = drmaa_set_attribute(jt, DRMAA_REMOTE_COMMAND, "/bin/sleep", error, DRMAA_ERROR_STRING_BUFFER);
22
23                if (errnum != DRMAA_ERRNO_SUCCESS) {
24                        fprintf(stderr, "Could not set attribute \"%s\": %s\n", DRMAA_REMOTE_COMMAND, error);
25                } else {
26                        const char *args[2] = {"5", NULL};
27
28                        errnum = drmaa_set_vector_attribute(jt, DRMAA_V_ARGV, args, error, DRMAA_ERROR_STRING_BUFFER);
29                }
30
31                if (errnum != DRMAA_ERRNO_SUCCESS) {
32                        fprintf(stderr, "Could not set attribute \"%s\": %s\n", DRMAA_REMOTE_COMMAND, error);
33                } else {
34                        char jobid[DRMAA_JOBNAME_BUFFER];
35
36                        errnum = drmaa_run_job(jobid, DRMAA_JOBNAME_BUFFER, jt, error, DRMAA_ERROR_STRING_BUFFER);
37
38                        if (errnum != DRMAA_ERRNO_SUCCESS) {
39                                fprintf(stderr, "Could not submit job: %s\n", error);
40                        }
41                        else {
42                                printf("Your job has been submitted with id %s\n", jobid);
43                        }
44                } /* else */
45
46                errnum = drmaa_delete_job_template(jt, error, DRMAA_ERROR_STRING_BUFFER);
47
48                if (errnum != DRMAA_ERRNO_SUCCESS) {
49                        fprintf(stderr, "Could not delete job template: %s\n", error);
50                }
51        } /* else */
52
53        errnum = drmaa_exit(error, DRMAA_ERROR_STRING_BUFFER);
54
55        if (errnum != DRMAA_ERRNO_SUCCESS) {
56                fprintf(stderr, "Could not shut down the DRMAA library: %s\n", error);
57                return 1;
58        }
59
60        return 0;
61}
Note: See TracBrowser for help on using the repository browser.